Python3 - Pandas Groupby

Groupby allows you to group together rows based off of a column and perform an aggregate function on them.

import pandas as pd

data = {'Company': ["AAA", "AAA", "BBB", "BBB", "CCC", "CCC"],
        'Person': ['Sam', 'Charlie', 'Amy', 'Vanessa', 'Carl', 'Sarah'],
        'Sales': [200,120,340,124,243,350]}

df = pd.DataFrame(data)
print(df)
print('\n')

print("**** Groupby company ****")
print(df.groupby('Company').sum())  # 求和
print('\n')
print(df.groupby('Company').mean())
print('\n')
print(df.groupby('Company').std())

print('\n')
print("****** 获取某公司一个值 ******")
print(df.groupby('Company').sum().loc['AAA'])
print('\n')
print(df.groupby('Company').sum().loc['BBB'])
print('\n')
print(df.groupby('Company').sum().loc['CCC'])
print('\n')
print("***** 获取至少一个公司的值 *******")
print(df.groupby('Company').sum().loc[['AAA','BBB']])
print('\n')

print("******** 数每家公司的员工数和工资数 *****")
print(df.groupby('Company').count())
print('\n')

print("****** 列举每家公司哪个员工的工资最高 ******")
print(df.groupby('Company').max())
print('\n')

print("****** 列举每家公司哪个员工的工资最少 ******")
print(df.groupby('Company').min())
print('\n')

print("****** 一次性列举每家公司的情况 ******")
print(df.groupby('Company').describe())
print('\n')
print(df.groupby('Company').describe().transpose())  #不同风格显示

print("****** 只是列举某一个公司的所有情况 ******")
print(df.groupby('Company').describe().transpose()['AAA'])
print(df.groupby('Company').describe().transpose()[['AAA','BBB']])

结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果觉得不错,就点赞或者关注或者留言~~
谢谢~ ~

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值