pandas 根据时间戳值和分钟值的差异使用时间戳填充列

wh6knrhe  于 2023-02-11  发布在  其他
关注(0)|答案(1)|浏览(158)

有一个包含两列的panda Dataframe ,如下所示,第二列的列名为日期时间值,第一列的值为20、15、10、5、0,表示第二列名称的日期时间值之前的分钟数。

minutes     2022-01-02 21:00:00+01:00
20           5.53
15           4.7
10           9.15
5            26.2
0            26.54

我试图用时间戳替换第一列中的分钟,方法是从第二列的名称中减去它,输出如下所示。我尝试了多种方法,但没有成功。有人能好心地帮助我吗?

minutes                       2022-01-02 21:00:00+01:00
2022-01-02 20:40:00+01:00     5.53
2022-01-02 20:45:00+01:00     4.7
2022-01-02 20:50:00+01:00     9.15
2022-01-02 20:55:00+01:00     26.2
2022-01-02 21:00:00+01:00     26.54
w6lpcovy

w6lpcovy1#

您可以使用转换to_datetimeto_timedelta,并使用rsub执行减法:

df['minutes'] = (pd.to_timedelta(df['minutes'], unit='min')
                   .rsub(pd.to_datetime(df.columns[1]))
                )

输出:

minutes  2022-01-02 21:00:00+01:00
0 2022-01-02 20:40:00+01:00                       5.53
1 2022-01-02 20:45:00+01:00                       4.70
2 2022-01-02 20:50:00+01:00                       9.15
3 2022-01-02 20:55:00+01:00                      26.20
4 2022-01-02 21:00:00+01:00                      26.54

相关问题