gpt4 book ai didi

python - 如何在 Pandas 中执行依赖于值的数据透视表/Groupby?

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:14 25 4
gpt4 key购买 nike

我有以下数据框:

      Tran ID    Category    Quantity 
0 001 A 5
1 001 B 2
2 001 C 3
3 002 A 4
4 002 C 2
5 003 D 6

我想把它改造成:

      Tran ID       A      B      C      D       Quantity 
0 001 True True True False 10
1 002 True False True False 6
2 003 False False False True 6

我知道我可以使用 groupby 来获取数量总和,但我不知道如何执行我描述的数据透视表。

最佳答案

使用get_dummies对于具有 max 的指标并添加具有聚合 sum 的新列:

#pandas 0.23+
df1 = pd.get_dummies(df.set_index('Tran ID')['Category'], dtype=bool).max(level=0)
#oldier pandas versions
#df1 = pd.get_dummies(df.set_index('Tran ID')['Category']).astype(bool).max(level=0)
s = df.groupby('Tran ID')['Quantity'].sum()

df2 = df1.assign(Quantity = s).reset_index()
print (df2)
Tran ID A B C D Quantity
0 001 True True True False 10
1 002 True False True False 6
2 003 False False False True 6

关于python - 如何在 Pandas 中执行依赖于值的数据透视表/Groupby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55294266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com