手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

python下用pandas实现数据统计--groupby分组

时间:2024-10-14 23:09:41

1、groupby广霏虍锚揣泛用在数据统计之中,可以实现很多数据库函数的功能。本文仅从单列分组,两列分组 , 求和 求平均 和 describe 时间分组还有筛选 ,六个方面例子进行说明。数据初始化代码:import pandas as pdimport numpy as npimport osimport sysexampleData = {'电源': ['220v', '110v', '28v', '5v', '3v'], '电阻': ['100', '100', '100', '1M', '2.2K'], '厂家': ['A厂', 'B厂', 'A厂', 'B厂', 'C厂' ], '数量': [5, 20, 14, 15, 20]}df = pd.DataFrame(exampleData)print(df)

python下用pandas实现数据统计--groupby分组
python下用pandas实现数据统计--groupby分组

2、#按厂家分组,并统计个数print("------数据分组统计个数-----")groupnum = df.groupby(['厂家']).size()print(groupnum)#打印每组数据 这个很有用print("------数据分组-----")for groupname,grouplist in df.groupby('厂家'): print(groupname) print(grouplist)

python下用pandas实现数据统计--groupby分组

3、# 求平均#将数量转换成浮点型,然后分组求均值print("------数据分组求平均-----")groupmean = df['数量'].astype(float).groupby(df['厂家']).mean()print(groupmean, type(groupmean))# 求和#将数量转换成浮点型,然后分组求和print("------数据分组求和-----")groupsum = df['数量'].astype(float).groupby(df['厂家']).sum()print(groupsum, type(groupsum))

python下用pandas实现数据统计--groupby分组

4、#追加列print("------追加列-----")df['地点'] = ['上海','北京',"大陆",'台湾','广州']df['日期'] = ['2019-03-11','2019-03-16',"2019-03-16",'2019-03-16','2019-03-15']print(df)print("------多 列 数据分组统计个数-----")groupnum = df.groupby(['厂家','电阻']).size()print(groupnum)

python下用pandas实现数据统计--groupby分组

5、# 按厂家与电阻分组,求数量这一列均值print("-----颍骈城茇-按厂家与电阻分组,求数量这一列均值--")groupmean = df['数量'].astype(float).groupby([df['厂家'],df['电阻']]).mean()print(groupmean)# 按厂家与电阻分组,求数量这一列sumprint("------按厂家与电阻分组,求数量这一列sum--")groupsum = df['数量'].astype(float).groupby([df['厂家'],df['电阻']]).sum()print(groupsum)print("------按厂家与电阻分组,求数量这一列describe--")groupdescribe = df['数量'].astype(float).groupby([df['厂家'],df['电阻']]).describe()print(groupdescribe)

python下用pandas实现数据统计--groupby分组

6、print("------按厂家 分组,日期这一列count--")# 转化为时间格式df["新日期"] = pd.to_datetime(df["日期"],format ="%Y-%m-%d")print(df)groupcount = df.groupby([df['新日期']]).count()print(groupcount)groupnum = df.groupby(['新日期']).size()print(groupnum)# 按照年分组print(df.groupby(df["新日期"].apply(lambda i:i.year)).count())

python下用pandas实现数据统计--groupby分组

7、# 到这里是按月分组new_df = df.groupby(df["新日期"].apply(lambda i多唉捋胝:i.day),as_index=False)print(new_df)print("------数据分组-----")for groupname,grouplist in new_df: print(groupname) print(grouplist)#打印按天 并且筛选数据只有一个的newdf = df.groupby(df["新日期"].apply(lambda i:i.day),as_index=False).filter(lambda i: len(i)==1)print(newdf)#打印按天 并且筛选数据大于一个的newdf = df.groupby(df["新日期"].apply(lambda i:i.day),as_index=False).filter(lambda i: len(i) > 1)print(newdf)

python下用pandas实现数据统计--groupby分组
© 手抄报圈