提问人:PracticingPython 提问时间:3/11/2022 更新时间:3/11/2022 访问量:139
查找 pandas 中每个子集的最大值 [duplicate]
Finding the max values of each subset in pandas [duplicate]
问:
我正在尝试将每个值除以给定年份的最大值。
df = pd.DataFrame({'Fiscal Year': {0: 2020, 1: 2019, 2: 2021, 3: 2020, 4: 2021},
'Product Num': {0: 'widget', 1: 'doodad', 2: "widget", 3: 'doodad', 4: 'widget'},
'Value': {0: 1000, 1: 1100, 2: 900, 3: 1300, 4: 800}})
所以
Product | Year | New Value
Widget | 2020 | .769
Doodad | 2019 | 1
Widget | 2021 | 1
Doodad | 2020 | 1
Widget | 2021 | .889
我知道我可以做 groupby,然后浏览每个条目并以这种方式弄清楚,但这似乎效率不高。有没有更好的方法可以做到这一点?
答: 暂无答案
评论
df['New Value'] = df['Value'] / df.groupby('Fiscal Year')['Value'].transform('max')