数据科学入门与实战:玩转pandas之七数据分箱技术,分组技术,聚合技术
首先导入相关包
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之七数据分箱技术,分组技术,聚合技术相关推荐
- python3数据科学入门与实战_Python3学习之Python3数据科学入门与实战视频教程
Python3学习之Python3数据科学入门与实战视频教程 Python3数据科学入门与实战 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开数据跟踪,本课程通过Nu ...
- 数据科学入门与实战:玩转pandas实战项目分析航班晚点情况
引入相关包 import numpy as np import pandas as pd from pandas import DataFrame,Series 读取数据文件 df = pd.read ...
- 数据科学入门与实战:玩转pandas之七数据透视
数据透视 引入相关包 #透视表 import numpy as np import pandas as pd from pandas import DataFrame,Series 看看- df = ...
- 数据科学入门与实战:玩转pandas之六时间序列
时间序列的操作基础 首先引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFrame from d ...
- 数据科学入门与实战:玩转pandas之五
通过apply进行数据预处理 首先读入csv文件 df = pd.read_csv('apply_demo.csv') print(df.head()) 看看规模 print(df.size) 创建新 ...
- 数据科学入门与实战:玩转pandas之二
Series,DateFrame的排序功能 引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFr ...
- 数据科学入门与实战:玩转pandas之四
DataFrame的merge(合并)操作 首先 import numpy as np import pandas as pd from pandas import Series,DataFrame ...
- 数据科学入门与实战:玩转pandas之三
重命名DataFrame的Index 引入包 import numpy as np import pandas as pd from pandas import Series,DataFrame 创建 ...
- 数据科学入门与实战:玩转pandas之一
首先引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFrame Serious的运算 创建两个S ...
最新文章
- 案例式c语言程序设计陈明,C语言程序设计教程 清华大学出版社 陈明主编 第1章答案...
- 分布式事务原理及实战seata(转自微信公众号 终码一生 )
- [LeetCode]Remove Linked List Elements
- java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
- Java容器坐标起点_Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点...
- 60秒计时器的仿真电路_基于伏秒平衡的同步整流方案探讨
- 自学python条件_自学Python2.8-条件(if、if...else)
- dubbo+rabbitmq+hystrix实现服务的高可用
- 排版小知识 1.针对某个对象对齐
- 风车im即时通讯源码支持打包app/H5/php开源版正常搭建无报错版,带搭建教程
- GeoServer在CentOS上部署的地图注记乱码问题
- Sphinx入门操作
- 悼念王选:伟大发明家和失意企业家间的孤独者
- Unity 检测手机性能,区分高中低端机型(URP)
- 交互设计师成长指引-从平凡到卓越
- java functionex_Atitit. atiJavaExConverter4js 新的特性
- C/C++程序计时函数
- [转]邓不利多所理解的预言
- 浏览器ctrl快捷键大全
- 南京邮电大学电工电子(数电)实验报告——组合逻辑电路 时序逻辑电路
热门文章
- webworker应用场景_典型应用场景 · OpenResty最佳实践-最新版 · 看云
- sql server累计求和函数_窗口函数 以及 储存过程 create procedure
- 加快linux编译速度,Linux Makefile 编译速度的优化【转】
- tracepro杂散光分析例子_光学系统杂散光分析(1)
- mqtt服务器收不到设备信息,在我的终端(mosquitto)上显示来自mqtt服务器的json消息...
- PowerVR 7架构解析
- CLion 下使用 Valgrind 内存检查 [Mac;Linux;Window多平台]
- 周口a货翡翠,泸州a货翡翠
- java socket-服务器不启动 直接启动客户端.md
- 负边距在布局中的使用