用特定于分组的值填充缺失值

用平均值去填充nan

s=pd.Series(np.random.randn(6))
s[::2]=np.nan
s0         NaN
1   -0.118174
2         NaN
3   -0.308161
4         NaN
5   -0.655565
dtype: float64s.fillna(s.mean())
stats=['Ohio','New York','Vermont','Florida','Oregon','Nevada','California','Idaho']
group_key=['East']*4 + ['West']*4
data=pd.Series(np.random.randn(8),index=stats)
data[['Vermont','Nevada','Idaho']]=np.nan
dataOhio          0.345378
New York      1.538009
Vermont            NaN
Florida       0.113972
Oregon        1.618781
Nevada             NaN
California    0.728396
Idaho              NaN
dtype: float64

其中group_key是

group_key['East', 'East', 'East', 'East', 'West', 'West', 'West', 'West']
data.groupby(group_key).mean()East    0.665786
West    1.173589
dtype: float64
fill_mean=lambda g:g.fillna(g.mean())
data.groupby(group_key).apply(fill_mean)Ohio          0.345378
New York      1.538009
Vermont       0.665786
Florida       0.113972
Oregon        1.618781
Nevada        1.173589
California    0.728396
Idaho         1.173589
dtype: float64

也可自定义字典作为填充值

fill_values={'East':0.5,'West':-1}
fill_func=lambda g:g.fillna(fill_values[g.name])
data.groupby(group_key).apply(fill_func)Ohio          0.345378
New York      1.538009
Vermont       0.500000
Florida       0.113972
Oregon        1.618781
Nevada       -1.000000
California    0.728396
Idaho        -1.000000
dtype: float64
card_val=(list(range(1,11)) + [10]*3 )*4
card_val
#需要强制将rang转成list否则会报错base_names=['A']+list(range(2,11))+['J','K','Q']
base_names['A', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'K', 'Q']

未完待续

python/pandas数据分析(十五)-聚合与分组运算实例相关推荐

  1. 【Python】GroupBy:数据聚合与分组运算

    [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/sunyaowu315/article/details/ ...

  2. pandas合并groupby_pandas数据聚合与分组运算——groupby方法

    简介 pandas中一类非常重要的操作是数据聚合与分组运算.通过groupby方法能够实现对数据集的拆分.统计.转换等操作,这个过程一气呵成. 在本文中,你将学到: 选取特定列分组: 对分组进行迭代: ...

  3. Python数据分析之数据聚合与分组运算(拆分、应用、合并)

    笔记目录 1.分组与聚合的原理 1.2分组与聚合的过程分为三步 1.2.1拆分 1.2.2应用 1.2.3合并 2. 通过groupby()方法将数据拆分成组 2.1 groupby()方法 2.2 ...

  4. 类的应用python平均分_【数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化和数据聚合与分组运算...

    本篇内容为整理<利用Python进行数据分析>,博主使用代码为 Python3,部分内容和书本有出入. 在前几篇中我们介绍了 NumPy.pandas.matplotlib 三个库的基本操 ...

  5. 《利用python进行数据分析》读书笔记--第九章 数据聚合与分组运算(一)

    http://www.cnblogs.com/batteryhp/p/5046450.html 对数据进行分组并对各组应用一个函数,是数据分析的重要环节.数据准备好之后,通常的任务就是计算分组统计或生 ...

  6. Python数据聚合和分组运算(1)-GroupBy Mechanics

    前言 Python的pandas包提供的数据聚合与分组运算功能很强大,也很灵活.<Python for Data Analysis>这本书第9章详细的介绍了这方面的用法,但是有些细节不常用 ...

  7. 【学习经典】python 数据聚合与分组运算(part 2)

    本文的前半部分:python 数据聚合与分组运算(part 1) 4. 透视表和交叉表 透视表(pivot table)是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具.它根据一个或多个键 ...

  8. Python之数据聚合与分组运算

    Python之数据聚合与分组运算 1. 关系型数据库方便对数据进行连接.过滤.转换和聚合. 2. Hadley Wickham创建了用于表示分组运算术语"split-apply-combin ...

  9. python学习[第十五篇] 文件系统

    python学习[第十五篇] 文件系统 对文件系统访问大多数都通过os模块实现. os 模块文件/目录访问函数 文件处理 mkfifo() 创建命名通道只用于linux remove(path)/un ...

最新文章

  1. 深度学习模型压缩与加速综述!
  2. 安装SQL2005提示“SQL Server 2005 COM+ 目录要求”警告 解决方法
  3. 【kibana】kibana node 监控指标 详解
  4. linux下camera驱动分析_LINUX设备驱动模型分析之三 驱动模块相关(DRIVER)接口分析...
  5. python 画频率分布直方图求平均数_Python绘制频率分布直方图的示例
  6. js基础知识汇总08
  7. 九度OJ题目1000: A + B(数学)
  8. 计算机房装修对门的要求,机房建设标准要求
  9. 大学物理第13章·热力学基础
  10. java 跳转url_URL跳转的几种方式
  11. 推荐1个易上手代码开源的好用的H5网页编辑工具
  12. 领英精灵和领英助理哪个好,看这一篇就够了
  13. 控制 Egress 流量
  14. maven设置阿里仓库
  15. 修改服务器端口后防火墙要设置吗,服务器设置完防火墙需要重启吗
  16. 常见的网站攻击方式和防护方式
  17. java有哪些特点?
  18. Happy 2004(代码+积性函数扩展)
  19. 转: 移动直播技术秒开优化经验
  20. Redis Sentinel主从复制自动切换方案

热门文章

  1. XenMobile 8.7对iOS7.1 企业级MDM管理功能带来哪些扩展?
  2. 潜移默化学会WPF--绘图 学习(一)
  3. C#WINFORM窗体传参的最佳实践
  4. Vue父组件和子组件之间传递数据
  5. 部署Laravel项目到centos服务器上
  6. 堆栈的应用——用JavaScript描述数据结构
  7. 深入理解 JavaScript Function
  8. 在Java中使用xpath对xml解析
  9. linux的pthread.h
  10. 转 Log4j.properties配置详解