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) | 数据统计和聚合 | 计算特定列的值频率 |