Pandas 是一个强大的开源数据分析和数据处理库,广泛应用于数据科学和机器学习领域。它提供了高性能、易于使用的数据结构和数据分析工具,特别适合处理表格数据,例如电子表格或数据库中的数据。Pandas 的核心数据结构包括 Series 和 DataFrame,分别用于一维和二维数据的存储和操作。
Pandas 提供了丰富的功能,例如数据清洗、过滤、合并、重塑、聚合和可视化。它能够轻松地处理缺失数据,支持时间序列数据的操作,并且与其他数据科学库(如 NumPy 和 Matplotlib)无缝集成。通过 read_csv、read_excel 等函数,Pandas 可以从多种文件格式中读取数据,并进行高效的处理和分析。
总之,Pandas 是数据处理和分析的利器,简化了数据操作的复杂性,使得数据科学家和分析师能够更专注于数据分析和建模工作。
导入Pandas模块:import pandas as pd
pd.read_csv(filepath_or_buffer, **kwargs)filepath_or_buffer: 文件路径或类文件对象**kwargs: 其他可选参数,如分隔符、列名等示例:
df = pd.read_csv('example.csv')- 说明:读取.csv文件并将其转换为DataFrame。
DataFrame.to_csv(path_or_buf, **kwargs)path_or_buf: 文件路径或类文件对象**kwargs: 其他可选参数,如分隔符、是否包含索引等示例:
df.to_csv('output.csv', index=False)- 说明:将DataFrame写入.csv文件。
DataFrame.head(n)n: 返回的行数,默认为5示例:
print(df.head(3))- 说明:返回DataFrame的前n行。
DataFrame.tail(n)n: 返回的行数,默认为5示例:
print(df.tail(3))- 说明:返回DataFrame的后n行。
DataFrame.info()- 无参数
示例:
df.info()- 说明:打印DataFrame的简要信息,包括列类型、非空值计数等。
DataFrame.describe()- 无参数
示例:
df.describe()- 说明:生成描述性统计信息,包含计数、均值、标准差、最小值、四分位数、最大值等。
DataFrame.loc[][]: 行标签和列标签示例:
df.loc[0:2, ['column1', 'column2']]- 说明:按标签选择数据。
DataFrame.iloc[][]: 行位置和列位置示例:
df.iloc[0:2, 0:2]- 说明:按位置选择数据。
DataFrame.at[][]: 单个元素的行标签和列标签示例:
df.at[0, 'column1']- 说明:按标签快速访问单个元素。
DataFrame.iat[][]: 单个元素的行位置和列位置示例:
df.iat[0, 0]- 说明:按位置快速访问单个元素。
DataFrame.query(expr)expr: 查询字符串示例:
df.query('column1 > 5')- 说明:使用查询字符串过滤数据。
DataFrame.drop(labels, axis, **kwargs)labels: 要删除的行或列标签axis: 指定删除行(0)或列(1)**kwargs: 其他可选参数示例:
df.drop(['column1', 'column2'], axis=1)- 说明:删除指定的行或列。
DataFrame.rename(columns=None, index=None, **kwargs)columns: 新的列名字典index: 新的行名字典**kwargs: 其他可选参数示例:
df.rename(columns={'old_name': 'new_name'}, inplace=True)- 说明:重命名行或列。
DataFrame.fillna(value, **kwargs)value: 用于填充缺失值的值**kwargs: 其他可选参数示例:
df.fillna(0, inplace=True)- 说明:用指定值填充缺失值。
DataFrame.dropna(axis, **kwargs)axis: 指定删除含有缺失值的行(0)或列(1)**kwargs: 其他可选参数示例:
df.dropna(axis=0, inplace=True)- 说明:删除含有缺失值的行或列。
DataFrame.replace(to_replace, value, **kwargs)to_replace: 要替换的值value: 替换后的值**kwargs: 其他可选参数示例:
df.replace(to_replace=0, value=1, inplace=True)- 说明:替换指定的值。
DataFrame.apply(func, axis)func: 要应用的函数axis: 指定应用函数的轴(行0或列1)示例:
df.apply(lambda x: x*2, axis=1)- 说明:将函数应用于DataFrame的轴(行或列)。
DataFrame.applymap(func)func: 要应用于每个元素的函数示例:
df.applymap(lambda x: x*2)- 说明:将函数应用于DataFrame的每个元素。
DataFrame.groupby(by, **kwargs)by: 用于分组的列名或标签**kwargs: 其他可选参数示例:
df.groupby('column1').mean()- 说明:按某列进行分组操作。
DataFrame.merge(right, how, on, **kwargs)right: 要合并的另一个DataFramehow: 合并方式(如'left', 'right', 'outer', 'inner')on: 用于合并的列名**kwargs: 其他可选参数示例:
df.merge(df2, how='inner', on='column1')- 说明:合并两个DataFrame。
DataFrame.concat(objs, axis, **kwargs)objs: 要连接的DataFrame列表axis: 沿哪个轴连接(0表示行,1表示列)**kwargs: 其他可选参数示例:
pd.concat([df1, df2], axis=0)- 说明:沿指定轴连接多个DataFrame。
DataFrame.mean(axis, **kwargs)axis: 指定计算均值的轴(0表示行,1表示列)**kwargs: 其他可选参数示例:
df.mean(axis=0)- 说明:计算均值。
DataFrame.sum(axis, **kwargs)axis: 指定计算总和的轴(0表示行,1表示列)**kwargs: 其他可选参数示例:
df.sum(axis=0)- 说明:计算总和。
DataFrame.min(axis, **kwargs)axis: 指定计算最小值的轴(0表示行,1表示列)**kwargs: 其他可选参数示例:
df.min(axis=0)- 说明:计算最小值。
DataFrame.max(axis, **kwargs)axis: 指定计算最大值的轴(0表示行,1表示列)**kwargs: 其他可选参数示例:
df.max(axis=0)- 说明:计算最大值。
DataFrame.median(axis, **kwargs)axis: 指定计算中位数的轴(0表示行,1表示列)**kwargs: 其他可选参数示例:
df.median(axis=0)- 说明:计算中位数。
DataFrame.std(axis, **kwargs)axis: 指定计算标准差的轴(0表示行,1表示列)**kwargs: 其他可选参数示例:
df.std(axis=0)- 说明:计算标准差。
DataFrame.value_counts(subset, **kwargs)subset: 要计算频率的列名**kwargs: 其他可选参数示例:
df['column1'].value_counts()- 说明:计算特定列的值频率。
| 函数名 | 分类 | 功能 |
|---|---|---|
pd.read_csv(filepath_or_buffer, **kwargs) | 读取和写入 | 读取.csv文件并将其转换为DataFrame |
DataFrame.to_csv(path_or_buf, **kwargs) | 读取和写入 | 将DataFrame写入.csv文件 |
DataFrame.head(n) | 查看和探索 | 返回DataFrame的前n行 |
DataFrame.tail(n) | 查看和探索 | 返回DataFrame的后n行 |
DataFrame.info() | 查看和探索 | 打印DataFrame的简要信息,包括列类型、非空值计数等 |
DataFrame.describe() | 查看和探索 | 生成描述性统计信息,包含计数、均值、标准差、最小值、四分位数、最大值等 |
DataFrame.loc[] | 数据选择和过滤 | 按标签选择数据 |
DataFrame.iloc[] | 数据选择和过滤 | 按位置选择数据 |
DataFrame.at[] | 数据选择和过滤 | 按标签快速访问单个元素 |
DataFrame.iat[] | 数据选择和过滤 | 按位置快速访问单个元素 |
DataFrame.query(expr) | 数据选择和过滤 | 使用查询字符串过滤数据 |
DataFrame.drop(labels, axis, **kwargs) | 数据清洗和处理 | 删除指定的行或列 |
DataFrame.rename(columns=None, index=None, **kwargs) | 数据清洗和处理 | 重命名行或列 |
DataFrame.fillna(value, **kwargs) | 数据清洗和处理 | 用指定值填充缺失值 |
DataFrame.dropna(axis, **kwargs) | 数据清洗和处理 | 删除含有缺失值的行或列 |
DataFrame.replace(to_replace, value, **kwargs) | 数据清洗和处理 | 替换指定的值 |
DataFrame.apply(func, axis) | 数据变换 | 将函数应用于DataFrame的轴(行或列) |
DataFrame.applymap(func) | 数据变换 | 将函数应用于DataFrame的每个元素 |
DataFrame.groupby(by, **kwargs) | 数据变换 | 按某列进行分组操作 |
DataFrame.merge(right, how, on, **kwargs) | 数据变换 | 合并两个DataFrame |
DataFrame.concat(objs, axis, **kwargs) | 数据变换 | 沿指定轴连接多个DataFrame |
DataFrame.mean(axis, **kwargs) | 数据统计和聚合 | 计算均值 |
DataFrame.sum(axis, **kwargs) | 数据统计和聚合 | 计算总和 |
DataFrame.min(axis, **kwargs) | 数据统计和聚合 | 计算最小值 |
DataFrame.max(axis, **kwargs) | 数据统计和聚合 | 计算最大值 |
DataFrame.median(axis, **kwargs) | 数据统计和聚合 | 计算中位数 |
DataFrame.std(axis, **kwargs) | 数据统计和聚合 | 计算标准差 |
DataFrame.value_counts(subset, **kwargs) | 数据统计和聚合 | 计算特定列的值频率 |