在 .groupby() 后面,可以跟 .agg() 和 .apply() 参数。这两个参数的功能比较神奇,但用法却有点不一样。
1. 先构造一个DataFrame
import pandas as pd
df = pd.DataFrame({"年份":["2020","2019","2020","2020","2019","2019"],
"商品":["苹果", "西瓜", "荔枝", "龙眼", "菠萝", "菠萝"],
"销售额":[100,200,300,400,500,600]})
df
2. 观察 .agg()做出来的结果
df.groupby(["年份"]).agg(lambda x :print(x))
3. 用 .apply() 做出来的结果
df.groupby(["年份"]).apply(lambda x : print(x))
不难看出,.apply() 处理的对象是一个个的类如DataFrame的数据表,然而 .agg() 则每次只传入一列。
4. 再看下 .agg() 的其它用法
df.groupby(["年份"]).agg(["sum", "mean", "max", "min"])
小结:可见,.agg() 和 .apply() 用法值得好好琢磨。
来源:oschina
链接:https://my.oschina.net/u/3750423/blog/4777004