Pandas 常用函数

数据创建

  • pd.Series(data): 创建一个序列。

  • pd.DataFrame(data): 创建一个数据帧。

数据导入和导出

  • pd.read_csv(filename): 从 CSV 文件读取数据。

  • pd.read_excel(filename): 从 Excel 文件读取数据。

  • pd.read_sql(query, connection_object): 从 SQL 表/数据库读取数据。

  • df.to_csv(filename): 将数据帧写入 CSV 文件。

  • df.to_excel(filename): 将数据帧写入 Excel 文件。

  • df.to_sql(table_name, connection_object): 将数据帧写入 SQL 数据库表。

数据查看和检查

  • df.head(n): 查看数据帧的前 n 行。

  • df.tail(n): 查看数据帧的后 n 行。

  • df.shape: 获取数据帧的行数和列数。

  • df.info(): 获取数据帧的基本信息概览,如列类型、非空值数量等。

  • df.describe(): 显示数据的统计摘要,如均值、标准差、最小值、最大值等。

数据清洗

  • df.dropna(): 删除含有缺失值的行或列。

  • df.fillna(value): 用某个值填充缺失值。

  • df.rename(columns={'old_name': 'new_name'}): 重命名列。

  • df.replace(old_value, new_value): 将指定值替换为新值;

  • df.duplicated(): 检查是否有重复的数据;

  • df.drop_duplicates(): 删除重复的数据。

数据筛选、排序和分组

  • df[df['column'] > value]: 根据某列的值筛选数据。

  • df.sort_values(by='column'): 按某列的值排序数据。

  • df.groupby('column'): 按某列的值分组数据。

数据合并和连接

  • pd.concat([df1, df2], axis=0): 合并两个数据帧。

  • pd.merge(df1, df2, on='column', how='inner'): 根据某列连接两个数据帧。

数据转换

  • df['column'].map(lambda x: x+1): 对某列的每个元素应用一个函数。

  • df.apply(lambda x: x+1): 对数据帧的每个元素应用一个函数。

  • df.pivot_table(values='value_column', index='row_column', columns='column_column'): 创建一个透视表。

时间序列

  • pd.to_datetime(df['column']): 将字符串转换为 datetime 对象。

  • df.set_index('datetime_column'): 将 datetime 列设置为索引。

字符串

  • df['column'].str.lower(): 将 Series 中的字符串转换为小写。

  • df['column'].str.upper(): 将 Series 中的字符串转换为大写。

  • df['column'].str.len(): 计算 Series 中每个字符串的长度。

  • df['column'].str.strip() / df['column'].str.lstrip() / df['column'].str.rstrip(): 分别去除字符串两端、左端、右端的空白符。

  • df['column'].str.split('separator'): 根据给定的分隔符分割字符串。

  • df['column'].str.replace('old', 'new'): 替换字符串中的文本。

  • df['column'].str.contains('pattern'): 检查 Series 中的字符串是否包含指定的模式或字符串。

  • df['column'].str.startswith('prefix') / df['column'].str.endswith('suffix'): 检查字符串是否以指定的前缀开始或以指定的后缀结束。

  • df['column'].str.cat(others=['column2'], sep=','): 将 Series 中的字符串与其他 Series 中的字符串连接起来。

  • df['column'].str.slice(start=0, stop=5): 对 Series 中的字符串进行切片操作。

  • df['column'].str.extract('(pattern)'): 使用正则表达式提取字符串中的匹配部分。

  • df['column'].str.find('substring') / df['column'].str.findall('pattern'): 查找子串的位置或查找所有匹配的子串。