Python数据分析及可视化实例之Pandas函数速查表

Python数据分析及可视化实例之Pandas函数速查表
最新回答
薄暮知秋

2026-03-28 16:21:38

Pandas函数速查表可归纳为数据结构操作、数据读取与写入、数据清洗、数据选择与索引、数据统计与分析、数据操作与变形、时间序列处理几大类核心函数,以下为具体函数及功能说明:

一、数据结构操作
  • Series创建pd.Series(data, index=index):将一维数据(列表、数组等)转换为带索引的Series对象,例如pd.Series([1, 2, 3], index=['a', 'b', 'c'])。pd.Series.from_csv()(已弃用):早期从CSV文件读取单列数据的方法,现推荐使用pd.read_csv()。

  • DataFrame创建pd.DataFrame(data, index=index, columns=columns):将二维数据(字典、列表嵌套等)转换为DataFrame,例如pd.DataFrame({'A': [1, 2], 'B': [3, 4]})。pd.DataFrame.from_dict():从字典创建DataFrame,可通过orient参数指定键值方向(如orient='index')。

二、数据读取与写入
  • 文件读取pd.read_csv(filepath, sep=',', header=0):读取CSV文件,支持指定分隔符、表头行等参数。pd.read_excel(filepath, sheet_name=0):读取Excel文件,可通过sheet_name指定工作表名称或索引。pd.read_sql(sql, con):从SQL数据库执行查询并返回DataFrame,需连接数据库对象con。

  • 文件写入df.to_csv(filepath, index=False):将DataFrame写入CSV文件,index=False可避免写入行索引。df.to_excel(filepath, sheet_name='Sheet1'):写入Excel文件,支持指定工作表名称。df.to_sql(name, con, if_exists='fail'):将DataFrame写入SQL表,if_exists控制表存在时的行为(如覆盖、追加)。

三、数据清洗
  • 缺失值处理df.isna():检测缺失值,返回布尔型DataFrame。df.dropna(axis=0, how='any'):删除含缺失值的行或列,how='any'表示任意缺失即删除,axis=1可删除列。df.fillna(value=0):用指定值填充缺失值,支持字典形式对不同列填充不同值。

  • 重复值处理df.duplicated(subset=None):检测重复行,subset指定判断重复的列。df.drop_duplicates(subset=None):删除重复行,保留首次出现的记录。

  • 数据类型转换df.astype({'col1': 'int', 'col2': 'float'}):将指定列转换为目标数据类型。pd.to_numeric(df['col'], errors='coerce'):将列转换为数值类型,errors='coerce'将无效值转为NaN。

四、数据选择与索引
  • 标签索引df.loc[row_indexer, col_indexer]:通过标签选择数据,支持切片(如df.loc['a':'b', 'A':'B'])。df.at[row_label, col_label]:快速访问单个值,效率高于loc。

  • 位置索引df.iloc[row_position, col_position]:通过整数位置选择数据,支持切片(如df.iloc[0:2, 1:3])。df.iat[row_pos, col_pos]:快速访问单个值,效率高于iloc。

  • 条件筛选df[df['col'] > 0]:筛选满足条件的行,支持多条件组合(如(df['A'] > 0) & (df['B'] < 1))。df.query('col > 0'):通过字符串表达式筛选数据,语法更简洁。

五、数据统计与分析
  • 描述性统计df.describe():计算数值列的基本统计量(如均值、标准差、分位数)。df.mean(axis=0):计算列均值,axis=1可计算行均值。df.corr():计算列之间的相关系数矩阵。

  • 分组聚合df.groupby('col').agg({'col1': 'sum', 'col2': 'mean'}):按指定列分组,并对不同列应用不同聚合函数。df.groupby('col').apply(func):对分组后的数据应用自定义函数func。

  • 排序与排名df.sort_values('col', ascending=False):按指定列排序,ascending=False表示降序。df.rank(method='average'):计算数值的排名,method指定排名方式(如平均排名、最小排名)。

六、数据操作与变形
  • 列操作df['new_col'] = df['col1'] + df['col2']:通过运算创建新列。df.drop('col', axis=1):删除指定列,axis=0可删除行。df.rename(columns={'old': 'new'}):重命名列,支持字典形式批量修改。

  • 行操作df.append(other_df, ignore_index=True):追加行数据,ignore_index=True可重置索引。df.sample(n=5):随机抽取指定数量的行。

  • 数据合并pd.concat([df1, df2], axis=0):沿行或列方向拼接DataFrame,axis=1表示横向拼接。df1.merge(df2, on='key'):基于键列合并数据,支持内连接、外连接等(通过how参数指定)。

七、时间序列处理
  • 时间索引创建pd.to_datetime(df['date_col']):将列转换为时间类型,支持解析多种日期格式。pd.date_range('2023-01-01', periods=7):生成固定频率的时间序列,如按天、按月。

  • 时间序列操作df.set_index('date_col').resample('M').mean():按时间频率(如月)重采样并计算均值。df['date_col'].dt.year:提取时间列的年份,支持.month、.day等属性。