1、Pandas 判断某一列的值是否为某某
⚠️:是只有 >
2、求Numpy 的所有行/列数
二、pd.DataFrame()
参考链接:pandas
https://www.cnblogs.com/xshan/p/10793011.html
三、np操作矩阵
1.DataFrame创建
1.1 函数创建
其中第一个参数是存放在DataFrame里的数据,第二个参数index就是之前说的行名,第三个参数columns是之前说的列名。
其中后两个参数可以使用list输入,但是注意,这个list的长度要和DataFrame的大小匹配,不然会报错。这两个参数是可选的,你可以选择不设置,而且这两个list是可以一样的。
1.2 直接创建
df4 = pd.DataFrame([[1, 2, 3], [2, 3, 4], [3, 4, 5]], index=list('abc'), columns=list('ABC'))
1.3 字典创建
dic1 = {'name': ['张三','李四','王二麻子','小淘气'],
'age': [37, 30, 50, 16],
'gender': ['男','男','男','女']}
df5 = pd.DataFrame(dic1)
2.DataFrame属性
2.1 查看列的数据类型
print(df5.dtypes)
# age int64
# gender object
# name object
# dtype: object
2.2 查看DataFrame的头尾
使用head可以查看前几行的数据,默认的是前5行,不过也可以自己设置。
df5.head() def5.tail() df5.tail(2)后两行
使用tail可以查看后几行的数据,默认也是5行,参数可以自己设
2.3 查看列名与行名
df5.index # 查看行名
df5.columns # 查看列名
2.4 查看数据值
df5.values # 可以查看数据里的所有数据值,返回的是一个数组
df5['B'].values # 查看索引是B的这一列数据 # 查看列
df5.iloc[2] # 查看行使用的是iloc函数,且参数为行号数字
2.5 查看行列数
使用shape查看行列数,参数为0表示查看行数,参数为1表示查看列数
df6.shape[0] # 行数
2.6 索引
df6.loc[:,'A':'B'] # 逗号前代表所有行,后面两个参数分别是列的索引
2.7 切片
切片表示的就是 行 切片
索引表示的就是 列 索引
df6['a':'b'] # 两个参数分别为行索引 ## 使用冒号进行切片
2.8 统计类别数量
y = iris.target # 鸢尾花举例
pd.value_counts(y) # 统计每一类的数量
3.DataFrame操作
3.1 转置
df5.T
3.2 描述性统计
用describe可以对数据根据【列】进行描述性统计,如果有的列是非数值型的,那么就不会进行统计。
df5.describe()
如果想对【行】进行描述性统计,转置后再进行descrribe
3.3 计算
使用sum默认对每列求和,sum(1)为对每行求和
df5.sum() df5.sum(1)
数乘运算使用apply df6.apply()
乘方运算跟matlab类似,直接使用两个* df6**2
3.4 新增
扩充列可以直接像字典一样,列名对应一个list,但是注意list的长度要跟index的长度一致
df6['G']=['999','999','999','999','999','999']
还可以使用insert,使用这个方法可以指定把列插入到第几列,其他的列顺延
df6.insert(0,'QQ', ['999','999','999','999','999','999'])
3.5 合并
使用join可以将两个DataFrame合并,但只根据行列名合并,并且以作用的那个DataFrame的为基准。
3.6 去重
3.7 添加/去除索引
df.set_index(['索引1名',‘索引2名’,‘索引3名’], inplace=True) # 添加索引
参数: inplace=True 会修改源数据,看情况
df.reset_index()
3.8 统计出现的次数
df["Class"].value_counts() # 会给出这一列所出现的数字次数概率
3.9 切片
https://blog.csdn.net/ly_ysys629/article/details/55224284
网友评论