gpt4 book ai didi

python Pandas : Re pivot or re groupby using the values as index

转载 作者:行者123 更新时间:2023-11-28 22:37:13 24 4
gpt4 key购买 nike

我是 Pandas 的新手,一直在尝试弄清楚如何使用输出值重新旋转或重新分组。例如,我使用下面的 read_csv 读取的示例 csv 数据,

    Transaction, Product, Dollar_Amount
A, Orange, 1
A, Apple, 2
A, Pear, 3
B, Orange, 4
B, Grape, 5
C, Apple, 6
D, Orange, 1
D, Apple, 2
D, Pear, 3

我使用以下 pivot 或 groupby 方法计算每笔交易中的产品数量,

grp = df.groupby('Transaction').size().sort_values(ascending=False).reset_index()
pivo = pd.pivot_table(df, index=['Transaction'], values=['Dollar_Amount'], margins=True, aggfunc=[len]).reset_index()

从输出中,我然后想要 pivot 或 groupby 以便我可以计算每个产品计数中的交易数量以获得以下输出,

Count_Products Count_Transactions
1 1 <-- Transaction C
2 1 <-- Transaction B
3 2 <-- Transaction A & D

我不知道如何进行第二部分。请帮助并提前致谢。

问候,大堂

最佳答案

df2 = pd.pivot_table(df.groupby('Transaction').size().reset_index(), index=0, values='Transaction', aggfunc=len).reset_index()
df2.columns = ("Count_Products", "Count_Transactions")

输出:

Count_Products Count_Transactions
0 1 1
1 2 1
2 3 2

关于 python Pandas : Re pivot or re groupby using the values as index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36758077/

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