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

  1. 将字典列表转换为DataFrame
    pf = pd.DataFrame(list(mate_list_raw))
    
  2. 指定字段顺序
    order = ['id', 'name', 'sex', 'age', 'birthday',
              'phone','email', 'address']
    pf = pf[order]
    
  3. 将列名替换为中文
    columns_map = {
         'id': '序号',
         'name': '姓名',
         'sex': '性别',
         'age': '年龄',
         'birthday': '生日',
         'phone': '电话',
         'email': '邮箱',
         'address': '地址',
     }
    pf.rename(columns=columns_map, inplace=True)
    
  4. 替换空单元格
    # 将空的单元格替换为空字符
    pf.fillna('', inplace=True)
    
  5. 输出到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)
    
支付宝打赏 微信打赏

来杯咖啡~

文章导航