pandas使用记录
网站
官网: http://pandas.pydata.org/pandas-docs/stable/api.html
统计指标计算
函数名 | 含义 |
---|---|
count | 非 NA 值的数量 |
describe | 针对 Series 或 DF 的列计算汇总统计 |
min , max | 最小值和最大值 |
argmin , argmax | 最小值和最大值的索引位置(整数) |
idxmin , idxmax | 最小值和最大值的索引值 |
quantile | 样本分位数(0 到 1) |
sum | 求和 |
mean | 均值 |
median | 中位数 |
mad | 根据均值计算平均绝对离差 |
var | 方差 |
std | 标准差 |
skew | 样本值的偏度(三阶矩) |
kurt | 样本值的峰度(四阶矩) |
cumsum | 样本值的累计和 |
cummin , cummax | 样本值的累计最大值和累计最小值 |
cumprod | 样本值的累计积 |
diff | 计算一阶差分(对时间序列很有用) |
pct_change | 计算百分数变化 |
nan值判断
import numpy as np
np.nan == np.nan # 不能这样判断。== 运算符比较两个对象的值(对象中保存的数据),而is比较对象的标识,但nan用is和==判断都有问题,还需要进一步研。
Out[20]: False
np.isnan(np.nan) # 用nummpy的isnan方法
Out[19]: True
import pandas as pd
pd.isnull(np.nan) # 用DataFram的isnull或notnull方法
Out[18]: True
pd.notnull(np.nan)
Out[17]: False
import math
math.isnan(np.nan) # 用math的isnan方法
Out[16]: True
使用pandas将字典列表转换为Excel
- 将字典列表转换为DataFrame
pf = pd.DataFrame(list(mate_list_raw))
- 指定字段顺序
order = ['id', 'name', 'sex', 'age', 'birthday', 'phone','email', 'address'] pf = pf[order]
- 将列名替换为中文
columns_map = { 'id': '序号', 'name': '姓名', 'sex': '性别', 'age': '年龄', 'birthday': '生日', 'phone': '电话', 'email': '邮箱', 'address': '地址', } pf.rename(columns=columns_map, inplace=True)
- 替换空单元格
# 将空的单元格替换为空字符 pf.fillna('', inplace=True)
- 输出到excel
sheet_name = "sheet1" file_path = "./file/字段整理.xlsx" with pd.ExcelWriter(file_path) as writer: pf.to_excel(writer, sheet_name=sheet_name, encoding='utf-8', index=False)