这里列举下Pandas中常用的函数和方法,方便大家查询使用。
读取 写入
- read_csv:读取CSV文件
- to_csv:导出CSV文件
- read_excel:读取Excel文件
- to_excel:导出Excel文件
- read_json:读取Json文件
- to_json:导出Json文件
- read_html:读取网页中HTML表格数据
- to_html:导出网页HTML表格
- read_clipboard:读取剪切板数据
- to_clipboard:导出数据到剪切板
- to_latex:导出数据为latex格式
- read_sas:读取sas格式数据(一种统计分析软件数据格式)
- read_spss:读取spss格式数据(一种统计分析软件数据格式)
- read_stata:读取stata格式数据(一种统计分析软件数据格式)
- read_sql:读取sql查询的数据(需要连接数据库),输出dataframe格式
- to_sql:向数据库写入dataframe格式数据
连接 合并 重塑
- merge:根据指定键关联连接多个dataframe,类似sql中的join
- concat:合并多个dataframe,类似sql中的union
- pivot:按照指定的行列重塑表格
- pivot_table:数据透视表,类似excel中的透视表
- cut:将一组数据分割成离散的区间,适合将数值进行分类
- qcut:和cut作用一样,不过它是将数值等间距分割
- crosstab:创建交叉表,用于计算两个或多个因子之间的频率
- join:通过索引合并两个dataframe
- stack: 将数据框的列“堆叠”为一个层次化的Series
- unstack: 将层次化的Series转换回数据框形式
- append: 将一行或多行数据追加到数据框的末尾
分组 聚合 转换 过滤
- groupby:按照指定的列或多个列对数据进行分组
- agg:对每个分组应用自定义的聚合函数
- transform:对每个分组应用转换函数,返回与原始数据形状相同的结果
- rank:计算元素在每个分组中的排名
- filter:根据分组的某些属性筛选数据
- sum:计算分组的总和
- mean:计算分组的平均值
- median:计算分组的中位数
- min和 max:计算分组的最小值和最大值
- count:计算分组中非NA值的数量
- size:计算分组的大小
- std和 var:计算分组的标准差和方差
- describe:生成分组的描述性统计摘要
- first和 last:获取分组中的第一个和最后一个元素
- nunique:计算分组中唯一值的数量
- cumsum、cummin、cummax、cumprod:计算分组的累积和、最小值、最大值、累积乘积
数据清洗
- dropna: 丢弃包含缺失值的行或列
- fillna: 填充或替换缺失值
- interpolate: 对缺失值进行插值
- duplicated: 标记重复的行
- drop_duplicates: 删除重复的行
- str.strip: 去除字符串两端的空白字符
- str.lower和 str.upper: 将字符串转换为小写或大写
- str.replace: 替换字符串中的特定字符
- astype: 将一列的数据类型转换为指定类型
- sort_values: 对数据框按照指定列进行排序
- rename: 对列或行进行重命名
- drop: 删除指定的列或行
数据可视化
- pandas.DataFrame.plot.area:绘制堆积图
- pandas.DataFrame.plot.bar:绘制柱状图
- pandas.DataFrame.plot.barh:绘制水平条形图
- pandas.DataFrame.plot.box:绘制箱线图
- pandas.DataFrame.plot.density:绘制核密度估计图
- pandas.DataFrame.plot.hexbin:绘制六边形分箱图
- pandas.DataFrame.plot.hist:绘制直方图
- pandas.DataFrame.plot.line:绘制线型图
- pandas.DataFrame.plot.pie:绘制饼图
- pandas.DataFrame.plot.scatter:绘制散点图
- pandas.plotting.andrews_curves:绘制安德鲁曲线,用于可视化多变量数据
- pandas.plotting.autocorrelation_plot:绘制时间序列自相关图
- pandas.plotting.bootstrap_plot:用于评估统计数据的不确定性,例如均值,中位数,中间范围等
- pandas.plotting.lag_plot:绘制时滞图,用于检测时间序列数据中的模式、趋势和季节性
- pandas.plotting.parallel_coordinates:绘制平行坐标图,用于展示具有多个特征的数据集中各个样本之间的关系
- pandas.plotting.scatter_matrix:绘制散点矩阵图
- pandas.plotting.table:绘制表格形式可视化图
日期时间
- to_datetime: 将输入转换为Datetime类型
- date_range: 生成日期范围
- to_timedelta: 将输入转换为Timedelta类型
- timedelta_range: 生成时间间隔范围
- shift: 沿着时间轴将数据移动
- resample: 对时间序列进行重新采样
- asfreq: 将时间序列转换为指定的频率
- cut: 将连续数据划分为离散的箱
- period_range: 生成周期范围
- infer_freq: 推断时间序列的频率
- tz_localize: 设置时区
- tz_convert: 转换时区
- dt: 用于访问Datetime中的属性
- day_name, month_name: 获取日期的星期几和月份的名称
- total_seconds: 计算时间间隔的总秒数
- rolling: 用于滚动窗口的操作
- expanding: 用于展开窗口的操作
- at_time, between_time: 在特定时间进行选择
- truncate: 截断时间序列