在本备忘单中,我们将使用以下速记

df| 任何pandas DataFrame对象
s| 任何pandas系列对象

向下滚动时,您会看到我们已经使用副标题组织了相关命令,因此您可以根据要尝试完成的任务快速搜索并找到正确的语法。

另外,快速提醒一下-要使用下面列出的命令,您需要先导入相关的库,如下所示:

import pandas as pdimport numpy as np

汇入资料

使用这些命令可以从各种不同的来源和格式导入数据。

pd.read_csv(filename)| 从CSV文件
pd.read_table(filename)| 从定界文本文件(例如TSV)
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,字符串或文件,并将表提取到数据帧列表
pd.read_clipboard()| 获取剪贴板的内容并将其传递给 read_table()pd.DataFrame(dict)| 根据字典,列名称的键,列表的数据值

汇出资料

使用以下命令将DataFrame导出为CSV,.xlsx,SQL或JSON。

df.to_csv(filename)| 写入CSV文件
df.to_excel(filename)| 写入Excel文件
df.to_sql(table_name, connection_object)| 写入SQL表
df.to_json(filename)| 以JSON格式写入文件

创建测试对象

这些命令对于创建测试段很有用。

pd.DataFrame(np.random.rand(20,5))| 5列20行的随机浮动
pd.Series(my_list)| 从迭代创建序列 my_listdf.index = pd.date_range('1900/1/30', periods=df.shape[0])| 添加日期索引

查看/检查数据

使用这些命令可以查看pandas DataFrame或Series的特定部分。

df.head(n)| DataFrame的前n行
df.tail(n)| DataFrame的最后n行
df.shape| 行数和列数
df.info()| 索引,数据类型和内存信息
df.describe()| 数字列的摘要统计信息
s.value_counts(dropna=False)| 查看唯一值和计数
df.apply(pd.Series.value_counts)| 所有列的唯一值和计数

选拔

使用这些命令选择数据的特定子集。

df[col]| 返回带有标签col的列为Series
df[[col1, col2]]| 返回列作为新的DataFrame
s.iloc[0]| 按位置选择
s.loc['index_one']| 按索引选择
df.iloc[0,:]| 第一行
df.iloc[0,0]| 第一栏的第一元素

数据清理

使用这些命令可以执行各种数据清理任务。

df.columns = ['a','b','c']| 重命名列
pd.isnull()| 空值检查,返回Boolean Arrray
pd.notnull()| 与pd.isnull()df.dropna() |相反 删除所有包含空值的行
df.dropna(axis=1)| 删除所有包含空值的列
df.dropna(axis=1,thresh=n)| 删除所有具有少于n个非空值的行
df.fillna(x)| 将所有空值替换为x
s.fillna(s.mean())| 用均值替换所有空值(均值可以用统计模块中的几乎所有函数替换 )
s.astype(float)| 将系列的数据类型转换为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.rename(index=lambda x: x + 1)| 大规模重命名索引

筛选,排序和分组依据

使用这些命令可以对数据进行过滤,排序和分组。

df[df[col] > 0.5]| 列 col 大于 0.5df[(df[col] > 0.5) & (df[col] < 0.7)]|的行 行 0.7 > col > 0.5df.sort_values(col1)| 按col1升序对值进行排序
df.sort_values(col2,ascending=False)| 按col2 降序对值 排序
df.sort_values([col1,col2],ascending=[True,False])| 按 col1 升序排序,然后 col2 按降序排序
df.groupby(col)| 返回值的GROUPBY对象从一个栏
df.groupby([col1,col2])| 返回来自多个列的值的groupby对象
df.groupby(col1)[col2]| 返回中的值的平均值 col2,按中的值分组 col1 (平均值可以用统计模块中的几乎所有函数替换 )
df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean)| 创建一个数据透视表组通过 col1 ,并计算平均值的 col2 和 col3df.groupby(col1).agg(np.mean)| 在所有列中找到每个唯一col1 组的平均值 
df.apply(np.mean)| np.mean() 在每列上应用功能 
nf.apply(np.max,axis=1)| np.max() 在每行上应用功能

加入/合并

使用这些命令将多个数据帧组合为一个数据帧。

df1.append(df2)| 将行添加 df1 到的末尾 df2 (各列应相同)
pd.concat([df1, df2],axis=1) 。将列添加 df1 到的末尾 df2 (行应相同)
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() 。返回非空值的每个数据帧列中的数字
df.max()| 返回每列中的最高值
df.min()| 返回每列中的最小值
df.median()| 返回每列的中位数
df.std()| 返回每列的标准偏差

下载此备忘单的可打印版本

如果您想下载该备忘单的可打印版本,可以在这里下载。