Pandas 速查表2024 年 8 月 29 日 | 4 分钟阅读 Pandas 可以用作数据科学最重要的 Python 包。它有助于提供大量以更简单的方式处理数据的函数。它具有快速、灵活和富有表现力的数据结构,旨在进行现实世界的数据分析。 Pandas 备忘单是 Pandas 基础知识的快速指南,您需要开始使用 Python 处理数据。如果您想使用 Pandas 开始您的数据科学之旅,您可以将其用作方便的参考,以便轻松处理数据。 本备忘单将引导您了解 Pandas 库的基础知识,从数据结构到 I/O,选择、排序和排名等。 键和导入我们在备忘单中使用以下速记 - df: 指任何 Pandas DataFrame 对象。
- s: 指任何 Pandas Series 对象。您可以使用以下导入来开始
导入数据- pd.read_csv(文件名) : 它从 CSV 文件中读取数据。
- pd.read_table(文件名) : 它用于从分隔文本文件中读取数据。
- pd.read_excel(文件名) : 它从 Excel 文件中读取数据。
- pd.read_sql(查询,连接 _对象) : 它从 SQL 表/数据库中读取数据。
- pd.read_json(json _字符串) : 它从 JSON 格式的字符串、URL 或文件中读取数据。
- pd.read_html(url) : 它解析 HTML URL、字符串或文件,并将表提取到数据帧列表中。
- pd.read_clipboard() : 它获取剪贴板的内容并将其传递给 read_table() 函数。
- pd.DataFrame(dict) : 从 dict 中,用于列名的键,用于数据的列表值。
导出数据- df.to_csv(文件名): 它写入 CSV 文件。
- df.to_excel(文件名): 它写入 Excel 文件。
- df.to_sql(表名, 连接对象): 它写入 SQL 表。
- df.to_json(文件名) : 它以 JSON 格式写入文件。
创建测试对象这对于测试代码段很有用。 - pd.DataFrame(np.random.rand(7,18)): 指 18 列和 7 行随机浮点数。
- pd.Series(my_list): 它从可迭代对象 my_list 创建一个 Series。
- df.index= pd.date_range('1940/1/20', periods=df.shape[0]): 它添加日期索引。
查看/检查数据- df.head(n): 它返回 DataFrame 的前 n 行。
- df.tail(n): 它返回 DataFrame 的最后 n 行。
- df.shape: 它返回行数和列数。
- df.info(): 它返回索引、数据类型和内存信息。
- s.value_counts(dropna=False): 它查看唯一值和计数。
- df.apply(pd.Series.value_counts): 它指的是所有列的唯一值和计数。
选拔- df[col1]: 它将列作为 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(): 它检查空值并返回布尔数组。
- 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): 它将 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.rename(index=lambda x: x+1): 它重命名大量的索引。
过滤、排序和分组- df[df[col] > 0.5]: 返回列 col 大于 0.5 的行
- df[(df[col] > 0.5) & (df[col] < 0.7)] : 返回 0.7 > col > 0.5 的行
- df.sort_values(col1) :它按 col1 以升序对值进行排序。
- df.sort_values(col2,ascending=False) :它按 col2 以降序对值进行排序。
- df.sort_values([col1,col2],ascending=[True,False]) :它按 col1 以升序排序值,按 col2 以降序排序值。
- df.groupby(col1): 为来自一列的值返回一个 groupby 对象。
- df.groupby([col1,col2]) :返回来自多列的值的 groupby 对象。
- df.groupby(col1)[col2]) :返回 col2 中值的平均值,按 col1 中的值分组。
- df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean) :它创建按 col1 分组并计算 col2 和 col3 平均值的透视表。
- df.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”。
统计量统计函数可以应用于 Series,如下所示 - df.describe(): 它返回数值列的汇总统计信息。
- df.mean() : 它返回所有列的平均值。
- df.corr(): 它返回数据框中各列之间的相关性。
- df.count(): 它返回每个数据框列中所有非空值的计数。
- df.max(): 它返回每个列中的最高值。
- df.min(): 它返回每个列中的最低值。
- df.median(): 它返回每个列的中间值。
- df.std(): 它返回每个列的标准差。
|