1处是最后要输出的数据
2处是要分组的数据 ,可以有多个
3处是一种计算方式,有多种
使用apply函数与groupby函数结合,输出1处的数据
下面进行实例演示:
import pandas as pd
df = pd.read_excel('D:/python/test/test3.xlsx')
print(df)
根据性别分组,获得tips的平均值
result1 = df['tips'].groupby(df['sex']).mean()
print(result1)
根据性别和是否抽烟分组,获得tips的最大值
result2 = df['tips'].groupby([df['sex'],df['smoker']]).max()
print(result2)
还可以将tips放在后面,效果是一样的
result2 = df['tips'].groupby([df['sex'],df['smoker']]).max()
result3 = df.groupby([df['sex'],df['smoker']])['tips'].max()
print(result2)
print(result3)
将df修改使其存在重复的部分,与apply函数结合,获得重复数据的index数据
result4 = df.groupby(df.columns.tolist()).apply(lambda x: list(x.index))
print(result4)
将其转化为list:
result4 = df.groupby(df.columns.tolist()).apply(lambda x: list(x.index)).tolist()
print(result4)