[译]Pandas常用命令对照清单

  • 我们在内容中使用以下简写:

df pandas的DataFrame对象
s pandas的Series对象

  • 导入以下包开始

import pandas as pd
import numpy as np

导入数据

pd.read_csv(filename) 从csv导入
pd.read_table(filename) 从分隔的文本文件导入
pd.read_excel(filename) 从excel文件导入
pd.read_sql(query, connection_object) 从SQL数据库读取
pd.read_json(json_string) 读取json格式的字符串、URL或文件
pd.read_html(url) 解析html的url,字符串或者文件,从一系列的dataframes提取table
pd.read_clipboard() 获取剪切板的内容,将其传递给read_table
pd.DataFrame(dict) 从dict获取DataFrame,键名为栏目名,值为一系列的列表

导出数据

df.to_csv(filename) 写入csv文件
df.to_excel(filename) 写入excel文件
df.to_sql(table_name, connection_object) 写入SQL数据库(表)
df.to_json(filename) 以json文件的形式写入
df.to_html(filename) 保存成html格式
df.to_clipboard() 写进剪贴板

创建测试对象

pd.DataFrame(np.random.rand(20,5)) 生成5列20行的随机浮点数
pd.Series(my_list) 用可迭代列表创造一列数据
df.index = pd.date_range('1900/1/30',periods=df.shape[0]) 增加一个日期索引

查看数据

df.head(n) DataFrame开头的n行记录
df.tail(n) DataFrame结尾的n行记录
df.shape() DataFrame行、列数
df.info() 展示Index,Datatype,Memory相关信息
df.describe() 数字列的相关综合统计
s.value_counts(dropna=False) 查看某一列唯一的值并统计数量
df.apply(pd.Series.value_counts) 查看所有的列唯一的值并统计数量

数据选择

df[col] 取出标签是col的一列
df[[col1, col2]] 作为DataFrame返回两列
s.iloc[0] 根据位置选择  
s.loc[0] 根据索引选择
df.iloc[0,:] 第一行
df.iloc[0,0] 第一列的第一个元素

数据清洗

df.columns = ['a','b','c']重命名列
pd.isnull() 确认是否为空值,返回布尔数组
pd.notnull() 与上面相反
df.dropna() 删除所有包含null值的行记录
df.dropna(axis=1) 删除所有包含null值的列记录
df.dropna(axis=1,thresh=n) 删除所有包含少于n个非空值的行
df.fillna(s.mean()) 用平均值替换掉所有空值
s.astype(float) 将某series的数据转换成float的数据类型 
s.replace(1,'one') 将所有值等于1的替换为one
s.replace([1,3], ['one','three']) 将所有值等于1的替换为one,3替换为three
df.rename(columns=lambda x:x+1) 取上一般性的标题名
df.rename(columns={'old_name':'new_name'}) 指定列名重命名
df.set_index('column_one') 修改索引

过滤,排序和分组

df[df[col] > 0.5] col列值大于0.5的行
df[(df[col] >0.5) & (df[col] <0.7)] col列值大于0.5小于0.7的行
df.sort_values(col1) 按照col1进行升序进行排列
df.sort_values(col2,ascending=False) 根据col2进行降序排列
df.sort_values([col1,col2],ascending=[True,False]) 根据col1升序col2降序联合排列
df.groupby(col) 根据某列的值返回分组对象
df.groupby([col1,col2]) 根据多列的值返回分组对象
df.groupby(col1)[col2].mean() 根据col1值返回分组对象,求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.apply(np.max, axis=1) 找出每一行的最大值

数据连接

df1.append(df2) 将df1的数据添加在df2下方(列必须相同)
df.concat([df1,df2],axis=1) 将df2的数据加载df1右侧(行必须相同)
df1.join(df2,on=col1,how='inner')SQL的方式加入列df1与列在df2其中对于行col具有相同的值。how参数可以为'left','right','outer','inner'

数学统计

df.describe() 显示总体统计的汇总状况
df.mean() 返回所有列的平均值
df.corr() 返回Dataframe列之间的相关关系
df.count() 返回Dataframe列中的非空值数量
df.max() 返回Dataframe列中的最大值
df.min() 返回Dataframe列中的最低值
df.median() 返回Dataframe每列的中位数
df.std() 返回Dataframe每列的标准差

原文来源:

https://www.dataquest.io/blog/large_files/pandas-cheat-sheet.pdf

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容