python Polars:替换DataFrame的Datetime列中的年份

sczxawaw  于 2023-02-21  发布在  Python
关注(0)|答案(1)|浏览(118)

我有一个polars DataFrame,它有很多列,其中一列有日期时间值(例如2017 - 2019年的每小时数据),如何用我指定的年份替换所有日期时间值中的年份?
原始日期时间列:

shape: (26280, 1)    
Index
datetime[ns]
2017-01-01 00:00:00
2017-01-01 01:00:00
2017-01-01 02:00:00
2017-01-01 03:00:00
...
2019-12-31 20:00:00
2019-12-31 21:00:00
2019-12-31 22:00:00
2019-12-31 23:00:00

所需日期时间列:

shape: (26280, 1)
Index
datetime[ns]
2022-01-01 00:00:00
2022-01-01 01:00:00
2022-01-01 02:00:00
2022-01-01 03:00:00
...
2022-12-31 20:00:00
2022-12-31 21:00:00
2022-12-31 22:00:00
2022-12-31 23:00:00
ssgvzors

ssgvzors1#

我不认为有什么内在的东西,但你可以

ser.dt.strftime('2022-%m-%d %H:%M:%S').str.strptime(pl.Datetime)

例如:

In [3]: ser = pl.Series(['2017-01-01 00:00:00', '2019-12-31 23:00:00']).str.strptime(pl.Datetime)

In [4]: ser
Out[4]:
shape: (2,)
Series: '' [datetime[μs]]
[
        2017-01-01 00:00:00
        2019-12-31 23:00:00
]

In [5]: ser.dt.strftime('2022-%m-%d %H:%M:%S').str.strptime(pl.Datetime)
Out[5]:
shape: (2,)
Series: '' [datetime[μs]]
[
        2022-01-01 00:00:00
        2022-12-31 23:00:00
]

相关问题