【问题标题】:Trim, Aggregate and Plot From Pandas DataFrame从 Pandas DataFrame 修剪、聚合和绘图
【发布时间】:2021-06-10 08:21:13
【问题描述】:

我的问题类似于How to aggregate and plot data from pandas dataframe?提出的问题

除非我的数据不够完美。

我有一个 DataFrame,其中包含从 CSV 文件中读取的数据,格式如下:

total_value;payout_date  
25;2021-02-24-09-AM
10;2021-02-24-09-PM
16;2021-02-24-10-AM
2;2021-02-24-10-PM
12;2021-02-24-11-AM
6;2021-02-24-11-PM
27;2021-02-24-12-PM
3;2021-02-25-01-AM
20;2021-02-25-01-PM
16;2021-02-26-10-AM
1;2021-02-26-10-PM
17;2021-02-26-11-AM
2;2021-02-26-11-PM
4;2021-02-26-12-AM
17;2021-02-26-12-PM
4;2021-02-27-01-AM
5;2021-02-27-01-PM
6;2021-02-27-02-AM

日期时间格式为yyyy-mm-dd-h12-am。在汇总总数之前,如何将日期修剪为 yyyy-mm-dd。例如,

4;2021-02-27-01-AM
5;2021-02-27-01-PM
6;2021-02-27-02-AM

变成

4;2021-02-27
5;2021-02-27
6;2021-02-27

预期的结果是

15;2021-02-27

提前感谢您的帮助!

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以去掉最后 6 个字符,将其转换为日期时间,然后进行 groupby & sum:

    df.payout_date = df.payout_date.str[:-6]
    
    df.payout_date = pd.to_datetime(df.payout_date)
    
    result = df.groupby(df.payout_date).sum()
    

    得到

    >>> result
    
                 total_value
    payout_date
    2021-02-24            98
    2021-02-25            23
    2021-02-26            57
    2021-02-27            15
    

    result.plot 给予

    【讨论】:

    • 谢谢穆斯塔法。很好!这正是我正在寻找的。​​span>
    • 我正在尝试投票 +1,但我收到此消息“不要忘记您可以通过单击其复选标记将其标记为已接受的答案。”如何将答案标记为已接受答案?
    • @absolutelynewbie 很高兴为您提供帮助!投票按钮下方有一个复选标记,您可以单击它;有关视觉效果,请参阅meta.stackexchange.com/a/5235/791774。谢谢!
    猜你喜欢
    • 2020-01-28
    • 2016-07-21
    • 2021-04-06
    • 2014-06-28
    • 2021-04-14
    • 2018-04-16
    • 1970-01-01
    • 2015-06-12
    相关资源
    最近更新 更多