学习Python, 当然少不了pandas,pandas是python数据科学中的必备工具,熟练使用pandas是从sql boy/girl 跨越到一名优秀的数据分析师傅的必备技能。
这篇pandas常用操作总结帮大家回顾下pandas的常用语法,尤其是我们分析数据时常用的方法。文末还有pandas的cheat sheet,帮助你记住常见的pandas操作。
常用操作分类:
从不同文件中导入数据
以不同的文件格式导出DataFrames
查看DataFrame信息
选择数据的特定子集
数据清理命令
分组、排序和过滤数据
其他
以下df代表DataFrame对象,ser代表Series对象。
从不同文件中导入数据
从CSV文件中读取所有数据:pd.read_csv(file_name)
从一个分隔的文本文件(如TSV)中读取所有数据:pd.read_table(file_name)
从Excel表读取:pd.read_excel(file_name)
从SQL数据库中读取数据:pd.read_sql(query, connectionObject)
从JSON格式的字符串或URL中获取数据:pd.read_json(jsonString)
要获取剪贴板的内容:pd.read_clipboard()
以不同的文件格式导出DataFrames
将DataFrame写入CSV文件:df.to_csv(file_name)
将DataFrame写入Excel文件:df.to_excel(file_name)
将一个DataFrame写入一个SQL表:df.to_sql(tableName, connectionObject)
将DataFrame写入JSON格式的文件:df.to_json(file_name)
查看DataFrame信息
获取所有与索引、数据类型和内存相关的信息:df.info()
要提取DataFrame的起始n行:df.head(n)
要提取DataFrame中最后n行:df.tail(n)
要提取DataFrame中可用的行数和列数:df.shape。
总结数字列的统计:df.describe()
要查看唯一值及其计数:ser.value_counts(dropna=False)
选择数据的特定子集
提取第一行:df.iloc[0,:]。
提取第一列的第一个元素: df.iloc[0,0]
返回标签为'col'的列作为Series:df[col]。
返回具有新数据框架的列:df[[col1,col2]]。
按位置选择数据:ser.iloc[0]。
按索引选择数据:ser.loc['index_one']
数据清理命令
同时重命名所有列:df.rename(columns = lambda x: x + '1')
选择性地重命名列:df.rename(columns = {'oldName': 'newName'})
重命名所有的索引:df.rename(index = lambda x: x + 1)
按顺序重命名列:df.columns = ['x', 'y', 'z']。
检查是否存在空值,相应地返回一个布尔值arrray:pd.isnull()
pd.isnull()的反向:pd.notnull()
删除所有包含空值的记录:df.dropna()
删除所有包含空值的列:df.dropna(axis=1)
用'n'代替每个空值:df.fillna(n)
要将series的所有数据类型转换为浮点数:ser.astype(float)
将所有数字1替换为'1',将3替换为'3':ser.replace([1,2], ['one', 'two'])
分组、排序和过滤数据
返回列值的groupby对象:df.groupby(colm)
返回多列值的groupby对象:df.groupby([colm1, colm2])
按升序排序(按列):df.sort_values(colm1)
要按降序排序(按列):df.sort_values(colm2, ascending=False)
提取列值大于0.6的行:df[df[colm] > 0.6]
其他
将第一个DataFrame的行添加到第二个DataFrame的末尾:df1.append(df2)
将第一个DataFrame的列添加到第二个DataFrame的末尾:pd.concat([df1,df2],axis=1)
返回所有列的平均值:df.mean()
返回非空值的数量:df.count()
另外给大家准备了pandas使用的cheat sheet,简单两页全面地总结了pandas的使用方法。
截图:
后台回复「 1206 」即可获取。
点亮 ,告诉大家你也在看