【问题标题】:Python pandas unique de-duped sum pivot tablePython pandas 独特的去重总和数据透视表
【发布时间】:2018-04-03 19:50:05
【问题描述】:

使用数据框 df:

User_ID | Transaction_ID | Transaction_Row | Category
3824739         123               -1           A
3824739         123               -1           A
2398473         345               0            A
1230984         567               1            C

我需要按类别旋转上述数据并求和 Transaction_Row。但是,我需要对事务 ID 进行分组,因此对于上面的事务 ID 123,我只计算 -1 一次。

我可以使用 pandas 数据透视表还是仅使用 groupby 来执行此操作?

pd.pivot_table(df,index=["Category"],values=["Transaction_Row"],aggfunc=np.sum)

电流输出:

Category | Sum of Transaction_Row
   A               -2
   C                1

期望的输出:

Category | Sum of Transaction_Row
   A               -1
   C                1

我不知道,如何编辑上面的语句来解决重复计算的问题。

谢谢!

【问题讨论】:

  • 想要的输出是什么?
  • 刚刚添加到问题中
  • df.drop_duplicates(['Transaction_ID']).groupby('Category')['Transaction_Row'].sum()

标签: python pandas group-by pivot


【解决方案1】:

我希望你的问题是正确的。 首先,仅根据 Transaction_ID 和 Transaction_Row 删除重复项。然后做支点。

df_2 = df.drop_duplicates(subset=['Transaction_ID', 'Transaction_Row']) 
pd.pivot_table(df_2, index=["Category"], values=["Transaction_Row"], aggfunc=np.sum)

【讨论】:

    猜你喜欢
    • 2016-10-24
    • 1970-01-01
    • 2019-06-28
    • 2020-08-30
    • 2020-11-24
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多