首先导入相关包

import pandas as pd
import numpy as np
from pandas import Series,DataFrame
#数据分箱技术Binning

数据分箱技术

创建一个数列,长度为20,数值从25到100

score_list = np.random.randint(25,100,size=20)
print(score_list)

设置区间bins,并统计落入各区间的个数

#统计落入各区间的个数,突然想到可以用到直方图统计
bins = [0,59,70,80,100]
score_cut = pd.cut(score_list,bins)

打印一下score_cut

print(score_cut)


把每个分箱的个数统计出来~

rint(pd.value_counts(score_cut))


创建一个空的DateFrame

df = DataFrame()

给加一个score列~

df['score'] = score_list

rands随机生成三个字符串

df['student'] = [pd.util.testing.rands(3) for i in range(20)]
df['Categories'] = pd.cut(df['score'],bins)
print(df)

打印结果

给每个箱子一个标签,low,ok,good,great

df['Categories'] = pd.cut(df['score'],bins,labels=['Low','Ok','Good','Great'])
print(df)

数据分组技术

df = pd.read_csv('city_weather.csv')
print(df)

看看数据
通过city分组

g = df.groupby(df['city'])
print(g)

打印结果

<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000018242F94F70>

分组

#分组
print(g.groups)
{'BJ': Int64Index([0, 1, 2, 3, 4, 5], dtype='int64'), 'GZ': Int64Index([14, 15, 16, 17], dtype='int64'), 'SH': Int64Index([6, 7, 8, 9, 10, 11, 12, 13], dtype='int64'), 'SZ': Int64Index([18, 19], dtype='int64')}

打印下

df_bj = g.get_group('BJ')
print(df_bj)
print('-'*100)
print(df_bj.mean())


分别对gz sh …求平均值,最大值

print(g.mean())

print(g.max())


把g用list改变下

print(list(g))


然后将它变成一个字典

print(dict(list(g)))

看一下这个字典中key值为北京的value

print(dict(list(g))['BJ'])


…这样看看

#name 和group_df是自己命名的..因为有元组
for name,group_df in g:print(name)print('-'*100)print(group_df)

数据聚合技术

df = pd.read_csv('city_weather.csv')
g = df.groupby('city')
print(dict(list(g)))

print(g.agg('min'))
print(g.min())

def foo(attr):return attr.max() - attr.min()
print(g.agg(foo))#得到新的DateFrame

print(df)
g_new = df.groupby(['city','wind'])
print(g_new.groups)

print(g_new.get_group(('BJ',3)))

for (name,tem),group in g_new:print(name,tem)print(group)

数据科学入门与实战:玩转pandas之七数据分箱技术,分组技术,聚合技术相关推荐

  1. python3数据科学入门与实战_Python3学习之Python3数据科学入门与实战视频教程

    Python3学习之Python3数据科学入门与实战视频教程 Python3数据科学入门与实战 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开数据跟踪,本课程通过Nu ...

  2. 数据科学入门与实战:玩转pandas实战项目分析航班晚点情况

    引入相关包 import numpy as np import pandas as pd from pandas import DataFrame,Series 读取数据文件 df = pd.read ...

  3. 数据科学入门与实战:玩转pandas之七数据透视

    数据透视 引入相关包 #透视表 import numpy as np import pandas as pd from pandas import DataFrame,Series 看看- df = ...

  4. 数据科学入门与实战:玩转pandas之六时间序列

    时间序列的操作基础 首先引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFrame from d ...

  5. 数据科学入门与实战:玩转pandas之五

    通过apply进行数据预处理 首先读入csv文件 df = pd.read_csv('apply_demo.csv') print(df.head()) 看看规模 print(df.size) 创建新 ...

  6. 数据科学入门与实战:玩转pandas之二

    Series,DateFrame的排序功能 引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFr ...

  7. 数据科学入门与实战:玩转pandas之四

    DataFrame的merge(合并)操作 首先 import numpy as np import pandas as pd from pandas import Series,DataFrame ...

  8. 数据科学入门与实战:玩转pandas之三

    重命名DataFrame的Index 引入包 import numpy as np import pandas as pd from pandas import Series,DataFrame 创建 ...

  9. 数据科学入门与实战:玩转pandas之一

    首先引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFrame Serious的运算 创建两个S ...

最新文章

  1. 案例式c语言程序设计陈明,C语言程序设计教程 清华大学出版社 陈明主编 第1章答案...
  2. 分布式事务原理及实战seata(转自微信公众号 终码一生 )
  3. [LeetCode]Remove Linked List Elements
  4. java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
  5. Java容器坐标起点_Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点...
  6. 60秒计时器的仿真电路_基于伏秒平衡的同步整流方案探讨
  7. 自学python条件_自学Python2.8-条件(if、if...else)
  8. dubbo+rabbitmq+hystrix实现服务的高可用
  9. 排版小知识 1.针对某个对象对齐
  10. 风车im即时通讯源码支持打包app/H5/php开源版正常搭建无报错版,带搭建教程
  11. GeoServer在CentOS上部署的地图注记乱码问题
  12. Sphinx入门操作
  13. 悼念王选:伟大发明家和失意企业家间的孤独者
  14. Unity 检测手机性能,区分高中低端机型(URP)
  15. 交互设计师成长指引-从平凡到卓越
  16. java functionex_Atitit. atiJavaExConverter4js  新的特性
  17. C/C++程序计时函数
  18. [转]邓不利多所理解的预言
  19. 浏览器ctrl快捷键大全
  20. 南京邮电大学电工电子(数电)实验报告——组合逻辑电路 时序逻辑电路

热门文章

  1. webworker应用场景_典型应用场景 · OpenResty最佳实践-最新版 · 看云
  2. sql server累计求和函数_窗口函数 以及 储存过程 create procedure
  3. 加快linux编译速度,Linux Makefile 编译速度的优化【转】
  4. tracepro杂散光分析例子_光学系统杂散光分析(1)
  5. mqtt服务器收不到设备信息,在我的终端(mosquitto)上显示来自mqtt服务器的json消息...
  6. PowerVR 7架构解析
  7. CLion 下使用 Valgrind 内存检查 [Mac;Linux;Window多平台]
  8. 周口a货翡翠,泸州a货翡翠
  9. java socket-服务器不启动 直接启动客户端.md
  10. 负边距在布局中的使用