Pandas的基础操作(一)——矩阵表的创建及其属性

(注:记得在文件开头导入import numpy as np以及import pandas as pd)


 import pandas as pd
import numpy as np #创建一个Pandas序列 s = pd.Series([1, 3, 6, np.nan, 44, 1])
# print(s)
# 0 1.0
# 1 3.0
# 2 6.0
# 3 NaN
# 4 44.0
# 5 1.0
# dtype: float64 #创建一个矩阵式的DataFrame
dates = pd.date_range('', periods=6)
# print(dates)
# DatetimeIndex(['2019-07-10', '2019-07-11', '2019-07-12', '2019-07-13',
# '2019-07-14', '2019-07-15'],
# dtype='datetime64[ns]', freq='D') #行的标签是 dates ;列的标签是:columns
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=['a', 'b', 'c', 'd'])
# print(df)
# a b c d
# 2019-07-10 -0.953463 -2.588401 1.680335 0.258889
# 2019-07-11 -2.183960 -1.559565 -0.119690 2.474845
# 2019-07-12 0.246754 0.237245 0.555891 -2.291064
# 2019-07-13 1.365473 -0.520804 2.351753 -0.650416
# 2019-07-14 0.160255 -0.665578 -1.330720 -0.502632
# 2019-07-15 1.427740 -0.386175 -0.102600 0.280338 #采用默认的行列标签方式,行和列的标签号都是从0开始
df1 = pd.DataFrame(np.arange(12).reshape((3,4)))
# print(df1)
# 0 1 2 3
# 0 0 1 2 3
# 1 4 5 6 7
# 2 8 9 10 11 #利用字典创建pandas矩阵表
df2 = pd.DataFrame({
'A':1.,
'B':pd.Timestamp(''),
'C':pd.Series(1, index=list(range(4)), dtype='float32'),
'D':np.array([3]*4, dtype='int32'),
'E':pd.Categorical(["test", "train", "test", "train"]),
'F':'foo'
}) # print(df2)
# A B C D E F
# 0 1.0 2019-07-10 1.0 3 test foo
# 1 1.0 2019-07-10 1.0 3 train foo
# 2 1.0 2019-07-10 1.0 3 test foo
# 3 1.0 2019-07-10 1.0 3 train foo
# #常用属性介绍(PS:因为是属性所以不用添加括号) #1 df.dtypes 查看每一列的数据类型
print(df2.dtypes)
# A float64
# B datetime64[ns]
# C float32
# D int32
# E category
# F object
# dtype: object #2 df.index 查看矩阵表所有每一行的标签号
print(df2.index)
# Int64Index([0, 1, 2, 3], dtype='int64') #3 df.columns 查看矩阵表所有每一列的标签号
print(df2.columns)
# Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object') #4 df.values 查看矩阵表中所有的值
print(df2.values)
# [[1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'test' 'foo']
# [1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'train' 'foo']
# [1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'test' 'foo']
# [1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'train' 'foo']] #5 df.describe() 描述矩阵表中float int 数据类型的均值、方差等参数
print(df2.describe())
# A C D
# count 4.0 4.0 4.0
# mean 1.0 1.0 3.0
# std 0.0 0.0 0.0
# min 1.0 1.0 3.0
# 25% 1.0 1.0 3.0
# 50% 1.0 1.0 3.0
# 75% 1.0 1.0 3.0
# max 1.0 1.0 3.0 #6 df.T 将矩阵表转置
print(df2.T)
# A 1 ... 1
# B 2019-07-10 00:00:00 ... 2019-07-10 00:00:00
# C 1 ... 1
# D 3 ... 3
# E test ... train
# F foo ... foo #7 df.sort_index() 对矩阵表进行排序 #按照索引标签进行排序,axis=1 --> 行位置不变,列位置变化,ascending=False,进行反排序
print(df2.sort_index(axis=1, ascending=False))
# F E D C B A
# 0 foo test 3 1.0 2019-07-10 1.0
# 1 foo train 3 1.0 2019-07-10 1.0
# 2 foo test 3 1.0 2019-07-10 1.0
# 3 foo train 3 1.0 2019-07-10 1.0 #按照索引标签进行排序,axis=0 --> 行位置变化,列位置不变,ascending=False,进行反排序
print(df2.sort_index(axis=0, ascending=False))
# A B C D E F
# 3 1.0 2019-07-10 1.0 3 train foo
# 2 1.0 2019-07-10 1.0 3 test foo
# 1 1.0 2019-07-10 1.0 3 train foo
# 0 1.0 2019-07-10 1.0 3 test foo #8 df.sort_values() 根据矩阵表中的值进行排序
print(df2.sort_values(by='E')) #对第"E"列的值进行排序
# A B C D E F
# 0 1.0 2019-07-10 1.0 3 test foo
# 2 1.0 2019-07-10 1.0 3 test foo
# 1 1.0 2019-07-10 1.0 3 train foo
# 3 1.0 2019-07-10 1.0 3 train foo

Pandas的基础操作(一)——矩阵表的创建及其属性的更多相关文章

  1. [SQL基础教程]1-4 SQL 表的创建

    [SQL基础教程]1-4 SQL 表的创建 创建数据库 语法 CREATE DATABASE <数据库名称> // example CREATE DATABASE shop; 创建表 语法 ...

  2. MySql数据库基础操作——数据库、用户的创建,表的制作、修改等

    MySql 是一款使用便捷.轻量级的数据库.因为他体积小.速度快.安装使用简单.开源等优点,目前是使用最广泛的数据库.目前位于Oracle甲骨文公司旗下.那今天我们就来介绍一下数据库的基本操作.具体介 ...

  3. Django day08 多表操作 (一) 多表模型创建

    多表模型创建分析:1)作者表:一个作者有姓名和年龄2)作者信息表: 有作者就有信息,点击作者的名字可以查询他的电话和地址, 作者表对应作者信息表,所以他们之间是一对一对的关系3)出版社表: 出版社有对 ...

  4. 3.0:pandas【基础操作】

    pandas 是基于numpy构件的强大的数据处理模块,其核心的数据结构有两个:Series 与 DataFrame 一:Series Series 是一种类似于表的东西,拥有索引(index)与其对 ...

  5. Python数据分析之pandas学习(基础操作)

    一.pandas数据结构介绍 在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame.Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其 ...

  6. MYSQL基础操作之单表的增删改查

    一.添加数据. -- 1.创建表,并插入一定的数据. CREATE TABLE STUDENT( ID INT, USERNAME ), SERVLET INT, JSP INT, ADDRESS ) ...

  7. (5)opencv的基础操作和矩阵的掩模操作

    不懂的,可以简单,看看这个网址:https://blog.csdn.net/xiongwen_li/article/details/78503491 图片放到了桌面,所以,图片的路径就是桌面了,剩余的 ...

  8. pandas 学习 第2篇:Series -(创建,属性,转换和索引)

    序列(Series)是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,序列不要求数据类型是相同的. 序列是一个一维数组,只有一个维度(或称作轴)是行(row),在访问序列 ...

  9. 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据

    在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...

随机推荐

  1. S1_搭建分布式OpenStack集群_09 cinder 控制节点配置

    一.创建数据库创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE cinder;MariaDB [(none ...

  2. webuploader解决大文件断点续传

    文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject() ...

  3. 修改git 提交的用户名和用户Email命令

    首页先查看全局配置:git config --list git config --local --list 法一:使用命令修改git的用户名和提交的邮箱 )修改全局 如果你要修改当前全局的用户名和邮箱 ...

  4. 羊村的OI题解

    目录 喜羊羊与灰太狼--仓库管理 喜羊羊与灰太狼--破译密码 喜羊羊与灰太狼--烦恼的礼物 喜羊羊与灰太狼--仓库管理 传送门 水的一批,还让开o2了 就不写了 #include<iostrea ...

  5. Noip2019暑期训练1

    题目名称 时空定位 棋子移动 高精度乘法 数独游戏 存盘文件名 location piece mul sudoku 输入文件名 location.in piece.in mul.in sudoku.i ...

  6. Luogu3379 【模板】最近公共祖先(LCA)

    题面 题解 这里讲一种硬核做法. 首先\(\mathrm{dfs}\)整棵树,求出这棵树的欧拉序,然后\(\mathrm{LCA}\)问题就变成了\(\pm 1\mathrm{RMQ}\)问题. 考虑 ...

  7. ICEM-缺口圆柱

    原视频下载地址:https://pan.baidu.com/s/1bpahxd9 密码: bpp7

  8. var a = function(){}和var a = function(){}();的区别

    var a = function(){ ... ... ... } 声明方法. var a = function(){ ... ... ... }(); 声明方法并执行 demo: var u = f ...

  9. Bi-Directional ConvLSTM U-Net with Densley Connected Convolutions

    Bi-Directional ConvLSTM U-Net with Densley Connected Convolutions  ICCV workshop 2019  2019-09-15 11 ...

  10. 自己搭建gitlab服务,组员不能上传代码

    原因是因为  没有拉分支  直接在master 上开撸代码 ,master 分支 默认是受保护的,具体操作如下