前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas基础命令速查表

Pandas基础命令速查表

作者头像
光点神奇
发布2019-05-28 20:33:45
9630
发布2019-05-28 20:33:45
举报
文章被收录于专栏:产品研究所产品研究所

python pandas

import pandas as pd import numpy as np

pd.set_option('display.height', 1000) pd.set_option('display.max_rows', 500) pd.set_option('display.max_columns', 500) pd.set_option('display.width', 1000)

df = pd.DataFrame(np.random.rand(10,5),columns=list('abcde'))

df.index = pd.date_range("2017/1/1",periods=df.shape[0])

print(df.iloc[2:2])

df = pd.DataFrame(np.random.rand(10,5),columns=list("abcde"))

print(df)

# print(df.iloc[0,0])

#

df.columns = ["A","B","C","D","E"]

print(df)

数据清洗

df = pd.DataFrame({

"A":np.array([np.nan,1,np.nan,2,3,5,np.nan]),

"B":np.array([np.nan,4,np.nan,5,9,np.nan,np.nan]),

"C":np.array([np.nan,4,np.nan,5,9,np.nan,np.nan])

})

df.columns = ["a","b",'c']

print(df)

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

print(df.dropna()) # 移除出现空值的行

print(df.dropna(axis=1)) # 移除包含空值的列

print(df.dropna(axis=1,thresh=4)) #移除空值个数为4的行

print(df.fillna(1)) # 空值部分用1替换

#

print(df.fillna(df.mean())) # 空值部分用平均数替换

#

s = df['c']

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

#

print(s.replace(5.0,'one')) # 将数组中的所有5替换为"one"

#

print(s.replace([5,9],["five",'nine'])) # 将数组中的所有5/9换成"five","nine"

#

df = pd.DataFrame(np.random.rand(4,4))

print(df.rename(columns = lambda x:x+5)) # 改变全体列名

df = pd.DataFrame(np.random.rand(10,5),columns=list("ABCDE"))

print(df.rename(columns={"A":"newA",'C':"newC"})) # 重命名

#

print(df.set_index('C')) # 将C列作为索引

# df.index = pd.date_range("2018/1/1",periods=df.shape[0])

#

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

#

print(df[df['A'] > 0.5]) # 筛选出A列中大于0.5的全部列

print(df[(df['C'] > 0.5) & (df['D'] < 0.7)])

print(df[(df['C']>0.5) & (df['A']<0.7)]) # 筛选出C列大于0.5且A列小于0.7的数

#

print(df.sort_values('A')) # 照A列升序排序

print(df.sort_values('A',ascending = False)) # 照A列降序排列

print(df.sort_values(['A','E'],ascending = [True,False])) # 按A的升序排列,一级B的降序排列

print(df.groupby('A').count()) # 按照A列分组

print(df.groupby(['A','B']).sum()) # 按照B列分组

#

df = pd.DataFrame({

'A':np.array(['foo','foo','foo','foo','bar','bar']),

'B':np.array(['one','one','two','tow','three','three']),

'C':np.array(['small','medium','large','large','small','small']),

'D':np.array([1,2,2,3,3,5])

})

print(df.groupby('B')['D'].mean()) # 按照B列对数据框做分组处理,并返回D列的平均值

#

print(df.pivot_table(df,index=['A','B'],columns=['C'],aggfunc=np.sum))

#

print(df.groupby('A').agg(np.mean))

df = pd.DataFrame(np.random.rand(10,5),columns=list('ABCDE'))

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

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

print(df.apply(np.max)) # 对数据框的每一列取最大值

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],

'B': ['B0', 'B1', 'B2', 'B3'],

'C': ['C0', 'C1', 'C2', 'C3'],

'D': ['D0', 'D1', 'D2', 'D3']},

index=[0, 1, 2, 3])

df2 = pd.DataFrame({'E': ['A4', 'A5', 'A6', 'A7'],

'F': ['B4', 'B5', 'B6', 'B7'],

'H': ['C4', 'C5', 'C6', 'C7'],

'J': ['D4', 'D5', 'D6', 'D7']},

index=[4, 5, 6, 7])

#

print(df1.append(df2)) # 将数据框1和数据框2结合起来

print(pd.concat([df1,df2],axis = 1)) # 在数据框1的列最后添加DF2

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],

'B': ['B0', 'B1', 'B2', 'B3'],

'key': ['K0', 'K1', 'K0', 'K1']})

#

df2 = pd.DataFrame({'C': ['C0', 'C1'],

'D': ['D0', 'D1']},

index=['K0', 'K1'])

print(df1.join(df2,on = 'key')) # 通过关键字key链接DF1和DF2

#

df = pd.DataFrame(np.random.rand(10,5),columns=list('ABCDE')) print(df)

print(df.describe()) #得出数据框的描述性统计 print(df.mean()) #得出每一列的评价值 print(df.corr()) # 得出每一列和其他列的相关系数 print(df.count()) # 得出每一列中的非空值个数 print(df.max()) # 得出每一列的最大数 print(df.min()) # 得出每一列的最小数 print(df.median) # 得出每一列的中位数 print(df.std()) # 得出每一列的标准差

本文由 所长 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Apr 23, 2018 at 02:39 am

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • df = pd.DataFrame(np.random.rand(10,5),columns=list('abcde'))
  • df.index = pd.date_range("2017/1/1",periods=df.shape[0])
  • print(df.iloc[2:2])
  • df = pd.DataFrame(np.random.rand(10,5),columns=list("abcde"))
  • print(df)
  • # print(df.iloc[0,0])
  • df.columns = ["A","B","C","D","E"]
  • print(df)
  • 数据清洗
  • df = pd.DataFrame({
  • "A":np.array([np.nan,1,np.nan,2,3,5,np.nan]),
  • "B":np.array([np.nan,4,np.nan,5,9,np.nan,np.nan]),
  • "C":np.array([np.nan,4,np.nan,5,9,np.nan,np.nan])
  • })
  • df.columns = ["a","b",'c']
  • print(df)
  • print(pd.isnull(df)) # 检查数据中非空值出现的情况,并返回一个布尔值组成的列
  • print(df.dropna()) # 移除出现空值的行
  • print(df.dropna(axis=1)) # 移除包含空值的列
  • print(df.dropna(axis=1,thresh=4)) #移除空值个数为4的行
  • print(df.fillna(1)) # 空值部分用1替换
  • print(df.fillna(df.mean())) # 空值部分用平均数替换
  • s = df['c']
  • print(s.astype(float)) # 将数组的格式转换为浮点数
  • print(s.replace(5.0,'one')) # 将数组中的所有5替换为"one"
  • print(s.replace([5,9],["five",'nine'])) # 将数组中的所有5/9换成"five","nine"
  • df = pd.DataFrame(np.random.rand(4,4))
  • print(df.rename(columns = lambda x:x+5)) # 改变全体列名
  • df = pd.DataFrame(np.random.rand(10,5),columns=list("ABCDE"))
  • print(df.rename(columns={"A":"newA",'C':"newC"})) # 重命名
  • print(df.set_index('C')) # 将C列作为索引
  • # df.index = pd.date_range("2018/1/1",periods=df.shape[0])
  • print(df.rename(index = lambda x: x+1)) # 改变全体索引
  • print(df[df['A'] > 0.5]) # 筛选出A列中大于0.5的全部列
  • print(df[(df['C'] > 0.5) & (df['D'] < 0.7)])
  • print(df[(df['C']>0.5) & (df['A']<0.7)]) # 筛选出C列大于0.5且A列小于0.7的数
  • print(df.sort_values('A')) # 照A列升序排序
  • print(df.sort_values('A',ascending = False)) # 照A列降序排列
  • print(df.sort_values(['A','E'],ascending = [True,False])) # 按A的升序排列,一级B的降序排列
  • print(df.groupby('A').count()) # 按照A列分组
  • print(df.groupby(['A','B']).sum()) # 按照B列分组
  • df = pd.DataFrame({
  • 'A':np.array(['foo','foo','foo','foo','bar','bar']),
  • 'B':np.array(['one','one','two','tow','three','three']),
  • 'C':np.array(['small','medium','large','large','small','small']),
  • 'D':np.array([1,2,2,3,3,5])
  • })
  • print(df.groupby('B')['D'].mean()) # 按照B列对数据框做分组处理,并返回D列的平均值
  • print(df.pivot_table(df,index=['A','B'],columns=['C'],aggfunc=np.sum))
  • print(df.groupby('A').agg(np.mean))
  • df = pd.DataFrame(np.random.rand(10,5),columns=list('ABCDE'))
  • print(df.apply(np.mean)) # 对数据框的每一列取平均值
  • print(df.apply(np.max,axis = 1)) # 对数据框的每一行取最大值
  • print(df.apply(np.max)) # 对数据框的每一列取最大值
  • df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
  • 'B': ['B0', 'B1', 'B2', 'B3'],
  • 'C': ['C0', 'C1', 'C2', 'C3'],
  • 'D': ['D0', 'D1', 'D2', 'D3']},
  • index=[0, 1, 2, 3])
  • df2 = pd.DataFrame({'E': ['A4', 'A5', 'A6', 'A7'],
  • 'F': ['B4', 'B5', 'B6', 'B7'],
  • 'H': ['C4', 'C5', 'C6', 'C7'],
  • 'J': ['D4', 'D5', 'D6', 'D7']},
  • index=[4, 5, 6, 7])
  • print(df1.append(df2)) # 将数据框1和数据框2结合起来
  • print(pd.concat([df1,df2],axis = 1)) # 在数据框1的列最后添加DF2
  • df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
  • 'B': ['B0', 'B1', 'B2', 'B3'],
  • 'key': ['K0', 'K1', 'K0', 'K1']})
  • df2 = pd.DataFrame({'C': ['C0', 'C1'],
  • 'D': ['D0', 'D1']},
  • index=['K0', 'K1'])
  • print(df1.join(df2,on = 'key')) # 通过关键字key链接DF1和DF2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档