在pandas中重新设置日期时间列的格式

2024-09-30 10:27:04 发布

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

我有一个Pandas数据帧df,包含日期时间和它们各自的值。现在我想对dataframe中的每个datetime进行一些格式更改,但是注意到一个普通的for循环实际上并没有改变dataframe中的任何内容。在

这就是我所做的,同时也表明了我的努力:

#original format of the datetimes: sunnuntai 1.1.2017 00:00

for i in df["Datetime"]:

#removes the string containing the weekday from the beginning
    i = re.sub("^[^ ]* ","", i) 

#converts 1.1.2017 00:00 into 2017-01-01 00:00
    i = datetime.datetime.strptime(i, "%d.%m.%Y %H:%M").strftime("%Y-%m-%d %H:%M")

我应该如何永久地进行这些格式更改?非常感谢。在


Tags: ofthe数据format内容dataframepandasdf
1条回答
网友
1楼 · 发布于 2024-09-30 10:27:04

放弃循环,以矢量化为目标。我把台阶拆开-

  1. 使用str.split删除前导文本
  2. pd.to_datetimedayfirst=True进行日期时间转换,以及
  3. dt.strftime将结果转换为您的格式

df['Datetime'] = pd.to_datetime(
    df['Datetime'].str.split(n=1).str[1], dayfirst=True
).dt.strftime("%Y-%m-%d %H:%M")

相关问题 更多 >

    热门问题