【发布时间】:2019-05-15 23:36:04
【问题描述】:
我需要一些关于 pandas groupby 的帮助。有没有办法对 pandas groupby 中的每个组运行 lambda(或等效项)?请参见下面的示例。我想在此 groupby 右侧的列中添加与上一年相比的百分比变化。我尝试了几种方法,但它们似乎都忽略了从新的“项目”组重新开始。
import pandas as pd
x = pd.Series(['Oranges', 'Apples', 'Other Fruits', 'Oranges', 'Apples', 'Other Fruits', 'Oranges', 'Apples', 'Other Fruits'])
y = pd.Series([2016, 2016, 2016, 2017, 2017, 2017, 2018, 2018, 2018])
z = pd.Series([12, 15, 9, 14, 15, 50, 32, 15, 12])
df = pd.DataFrame({'Item': x, 'Year':y, 'Values':z})
df=df.sort_values('Values', ascending=False)
df.groupby(['Item', 'Year']).sum()
#How do I get Percent % Values for each group as a new column right of 'Values'
我期待以下内容:
【问题讨论】:
标签: python pandas lambda pandas-groupby