数据预处理:几个常用函数

1-groupby 分组统计

 ( 与统计函数连用才有意义)

# 分组
import pandas as pd

data = pd.read_excel('../data/pivot_table_demo.xlsx')  # 读取数据
print(data.head())
输出结果:(展示文件中的数据)
      学习中心    招生批次    院校名称      层次  ...      身份证号码      费用科目  缴费方式 已缴纳学费
0   大连学习中心  201209    东北财经大学  专升本  ...  210204190001097607   学费  POS直汇院校  3000
1   大连学习中心  201209    重庆大学      专升本  ...  210204190001092022   学费  POS直汇院校  2800
2   大连学习中心  201209    重庆大学      专升本  ...  210204190001096379   学费  POS直汇院校  2800
3   大连学习中心  201209    东北财经大学   专升本  ...  210204190001099505   学费  POS直汇院校  4500
4  天通苑学习中心  201209   北京交通大学   高起专  ...  210204190001098058   学费  POS直汇总部  3500


# 统计各个学习中心的缴费总数
r1 = data.groupby('学习中心')['已缴纳学费'].sum()
print(r1.head())
输出结果:
学习中心
上海管理中心     215430
北京学习中心      45500
北京通州服务站     22700
南京管理中心       5760
嘉兴学习中心      23020
Name: 已缴纳学费, dtype: int64


# 统计各个学习中心的报名人数
r2 = data.groupby('学习中心')['身份证号码'].count()
print(r2.head())

输出结果:
学习中心
上海管理中心     57
北京学习中心     19
北京通州服务站     5
南京管理中心      2
嘉兴学习中心      9
Name: 身份证号码, dtype: int64

2-apply  主要用于数据聚合运算,可以很方便地对数据应用系统函数或者自定义的函数

import pandas as pd

data = pd.read_csv('../data/data.csv', index_col='年份')
print(data.head())
输出结果:
年份    人均GDP(元)  啤酒产量(万千升)  居民消费价格指数(上面=100)                                        
2000    7857.7        2231.3              100.4
2001    8621.7        2288.9              100.7
2002    9398.1        2402.7              99.2
2003   10542.0        2540.5              101.2
2004   12335.6        2948.6              103.9

# 按列应用max
r = data.apply(max, axis=0)
print(r)
输出结果:
人均GDP(元)                41907.6
啤酒产量(万千升)            5061.5
居民消费价格指数(上面=100)  105.9
dtype: float64

# 按行应用max
r = data.apply(max, axis=1)
print(r.head())
输出结果:
年份
2000     7857.7
2001     8621.7
2002     9398.1
2003    10542.0
2004    12335.6
dtype: float64

3-stack---将数据的列“旋转”为行    unstack---将数据的行“旋转”为列

import pandas as pd

data = pd.read_csv('../data/data.csv', index_col='年份')
print(data.head())
输出结果:
年份   人均GDP(元)  啤酒产量(万千升)  居民消费价格指数(上面=100)                                    
2000    7857.7       2231.3             100.4
2001    8621.7       2288.9             100.7
2002    9398.1       2402.7              99.2
2003   10542.0       2540.5             101.2
2004   12335.6       2948.6             103.9

# stack---将数据的列“旋转”为行、
r = data.stack()
print(r.head())
输出结果:
年份                    
2000  人均GDP(元)               7857.7
      啤酒产量(万千升)           2231.3
      居民消费价格指数(上面=100) 100.4
2001  人均GDP(元)               8621.7
      啤酒产量(万千升)           2288.9
dtype: float64


# unstack---将数据的行“旋转”为列
r = data.stack().unstack()
print(r.head())
输出结果 :
年份    人均GDP(元)  啤酒产量(万千升)  居民消费价格指数(上面=100)                                         
2000    7857.7         2231.3               100.4
2001    8621.7         2288.9               100.7
2002    9398.1         2402.7               99.2
2003   10542.0         2540.5              101.2
2004   12335.6         2948.6              103.9

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值