更改日期列中的每个日期

2024-09-29 21:55:43 发布

您现在位置:Python中文网/ 问答频道 /正文

(您可以假设date列是datetime)

这可能与问题有关,但我还有一个日期列表,其中包含以下值:

['2018-01-01', '2018-02-01', '2018-03-01', 
'2018-04-01', '2018-05-01']

我有下表:

date         arb1      arb2      amount
2018-01-02   Z         F         5
2018-01-03   G         H         10
2018-02-04   V         T         51
2018-03-03   R         S         54

我想要这个输出,其中每个日期都被设置为相应月份的第一个:

date         arb1      arb2      amount
2018-01-01   Z         F         5
2018-01-01   G         H         10
2018-02-01   V         T         51
2018-03-01   R         S         54

奖金(不需要):我实际上想做的是在按日期(月份)、arb1和arb2分组后将金额相加,最终输出的每个日期都是本月的第一个日期。我想一个简单的方法是先把每个日期改为一个月的第一天,但是如果有一个简单的方法可以在熊猫身上做到这一点,那么上面的步骤是不需要的,你可以跳到这个代替


Tags: 方法列表datetimedate步骤金额amount奖金
1条回答
网友
1楼 · 发布于 2024-09-29 21:55:43

你需要在下面得到一个月的第一个日期

df['date'] = df['date'].dt.to_period('M').dt.to_timestamp()

输出:

        date arb1 arb2  amount
0 2018-02-01    Z    F       5
1 2018-01-01    G    H      10
2 2018-02-01    V    T      51
3 2018-03-01    R    S      54

相关问题 更多 >

    热门问题