0
点赞
收藏
分享

微信扫一扫

Pandas基础命令速查表

最近用到Pandas,想查几个函数,结果翻来翻去都是那几个豆腐干大小的图片,我真是缓缓地打出一个?难道你能对着一张图片ctrl + F5?

于是赶紧安排一下官方库的翻译。这不,老铁,来了~


本文翻译整理自Pandas Cheat Sheet - Python for DataScience

点这里一键fork >>Pandas基础命令速查清单

速查表内容概要

[缩写解释 & 库的导入]

[数据的导入]

[数据的导出]

[创建测试对象]

[数据的查看与检查]

[数据的选取]

[数据的清洗]

[数据的过滤(filter),排序(sort)和分组(groupby)]

[数据的连接(join)与组合(combine)]

[数据的统计]

缩写解释 & 库的导入

df --- 任意的pandas DataFrame(数据框)对象

s --- 任意的pandas Series(数组)对象

pandas和numpy是用Python做数据分析最基础且最核心的库

数据的导入

数据的导出

创建测试对象

pd.DataFrame(np.random.rand(10,5)) # 创建一个5列10行的由随机浮点数组成的数据框

DataFrame

pd.Series(my_list) # 从一个可迭代的对象 my_list 中创建一个数据组

df.index = pd.date_range('2017/1/1',periods=df.shape[0]) # 添加一个日期索引 index

数据的查看与检查

df.head(n) # 查看数据框的前n行

df.tail(n) # 查看数据框的最后n行

df.shape # 查看数据框的行数与列数

df.info() # 查看数据框(DataFrame) 的索引、数据类型及内存信息

df.describe() # 对于数据类型为数值型的列,查询其描述性统计的内容

s.value_counts(dropna=False) # 查询每个独特数据值出现次数统计

df.apply(pd.Series.value_counts) # 查询数据框 (Data Frame) 中每个列的独特数据值出现次数统计

数据的选取

df[col] # 以数组Series 的形式返回选取的列

df[[col1, col2]] # 以新的数据框(DataFrame)的形式返回选取的列

s.iloc[0] # 按照位置选取

s.loc['index_one'] # 按照索引选取

df.iloc[0,:] # 选取第一行

df.iloc[0,0] # 选取第一行的第一个元素

数据的清洗

df.columns = ['a','b'] # 重命名数据框的列名称

pd.isnull() # 检查数据中空值出现的情况,并返回一个由布尔值(True,Fale)组成的列

pd.notnull() # 检查数据中非空值出现的情况,并返回一个由布尔值(True,False)组成的列

df.dropna() # 移除数据框 DataFrame 中包含空值的行

df.dropna(axis=1) # 移除数据框 DataFrame 中包含空值的列

df.dropna(axis=1,thresh=n) # 移除数据框df中空值个数不超过n的行

df.fillna(x) # 将数据框 DataFrame 中的所有空值替换为 x

s.fillna(s.mean()) -> 将所有空值替换为平均值

s.astype(float) # 将数组(Series)的格式转化为浮点数

s.replace(1,'one') # 将数组(Series)中的所有1替换为'one'

s.replace([1,3],['one','three']) # 将数组(Series)中所有的1替换为'one',所有的3替换为'three'

df.rename(columns=lambda x: x + 2) # 将全体列重命名

df.rename(columns={'old_name': 'new_name'}) # 将选择的列重命名

df.set_index('column_one') # 改变索引

df.rename(index = lambda x: x+ 1) # 改变全体索引

数据的过滤(filter),排序(sort)和分组(groupby)

df[df[col] > 0.5] # 选取数据框df中对应行的数值大于0.5的全部列

df[(df[col] > 0.5) & (df[col] <0.7)] # 选取数据框df中对应行的数值大于0.5,并且小于0.7的全部列

df.sort_values(col1) # 按照数据框的列col1升序(ascending)的方式对数据框df做排序

df.sort_values(col2,ascending=False) # 按照数据框的列col2降序(descending)的方式对数据框df做排序

df.sort_values([col1,col2],ascending=[True,False]) # 按照数据框的列col1升序,col2降序的方式对数据框df做排序

df.groupby(col) # 按照某列对数据框df做分组

df.groupby([col1,col2]) # 按照列col1和col2对数据框df做分组

df.groupby(col1)[col2].mean() # 按照列col1对数据框df做分组处理后,返回对应的col2的平均值

df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean)

# 做透视表,索引为col1,针对的数值列为col2和col3,分组函数为平均值

df.groupby(col1).agg(np.mean) # 返回按列col1分组的所有列的均值

df.apply(np.mean) # 对数据框df的每一列求平均值

df.apply(np.max,axis=1) # 对数据框df的每一行求最大值

数据的连接(join)与组合(combine)

df1.append(df2) # 在数据框df2的末尾添加数据框df1,其中df1和df2的列数应该相等

pd.concat([df1, df2],axis=1) # 在数据框df1的列最后添加数据框df2,其中df1和df2的行数应该相等

df1.join(df2,on=col1,how='inner') # 对数据框df1和df2做内连接,其中连接的列为col1

数据的统计

df.describe() # 得到数据框df每一列的描述性统计

df.mean() # 得到数据框df中每一列的平均值

df.corr() # 得到数据框df中每一列与其他列的相关系数

df.count() # 得到数据框df中每一列的非空值个数

df.max() # 得到数据框df中每一列的最大值

df.min() # 得到数据框df中每一列的最小值

df.median() # 得到数据框df中每一列的中位数

df.std() # 得到数据框df中每一列的标准差

举报

相关推荐

0 条评论