【问题标题】:Pandas pivot value are merged熊猫枢轴值被合并
【发布时间】:2021-07-22 21:15:21
【问题描述】:

您好,有如下数据

Time                  qty
2021-07-23 02-06-49  0.02
2021-07-23 02-06-51  0.02
2021-07-23 02-06-53  2
2021-07-23 02-06-53  0.032
2021-07-23 02-06-54  2.842
2021-07-23 02-06-54  0.025
2021-07-23 02-06-55  0.02
2021-07-23 02-06-57  1.742
2021-07-23 02-06-57  0.395
df = pd.pivot_table(df,index=['Time'],values=['qty'],aggfunc=np.sum)

print(df)

结果如下

Time                    qty
2021-07-23 02-06-49     0.02
2021-07-23 02-06-51     0.02
2021-07-23 02-06-53     2.000000000.03200000
2021-07-23 02-06-54     2.842000000.02500000
2021-07-23 02-06-55     0.02
2021-07-23 02-06-57     1.742000000.39500000

我想要 qty 价值的总和

【问题讨论】:

  • 你的结果很奇怪...你能用df.info()的输出更新你的帖子吗?

标签: python pandas pivot-table


【解决方案1】:

根据输出,在我看来“数量”是“字符串”dtype。尝试将其强制为“浮动”,然后重试:

df = df.astype({"qty": "float"})
df = pd.pivot_table(df, index=['Time'], values=['qty'], aggfunc=np.sum)

【讨论】:

    【解决方案2】:

    你也可以使用groupby:

    >>> df.groupby('Time', as_index=False)['qty'].sum()
                      Time    qty
    0  2021-07-23 02-06-49  0.020
    1  2021-07-23 02-06-51  0.020
    2  2021-07-23 02-06-53  2.032
    3  2021-07-23 02-06-54  2.867
    4  2021-07-23 02-06-55  0.020
    5  2021-07-23 02-06-57  2.137
    

    【讨论】:

    • 谢谢哥们,我有一个像数量这样的多列,价格我想要数量总和我该怎么办...?
    • 其他列都被删除了?
    • 我将答案更新为仅在 qty 列上计算总和。
    • 我仍然有相同的结果
    猜你喜欢
    • 2022-06-12
    • 1970-01-01
    • 2019-01-07
    • 2020-04-13
    • 2017-04-08
    • 1970-01-01
    • 2020-06-19
    • 2019-01-08
    • 2023-03-27
    相关资源
    最近更新 更多