将DataFrame列类型从字符串转换为日期时间类型。

10 浏览
0 Comments

将DataFrame列类型从字符串转换为日期时间类型。

如何将一个DataFrame的字符串列(格式为dd/mm/yyyy)转换为datetime数据类型?

admin 更改状态以发布 2023年5月23日
0
0 Comments

如果您的日期列是格式为'2017-01-01'的字符串,您可以使用pandas astype将其转换为日期时间格式。

df['date'] = df['date'].astype('datetime64[ns]')

或者,如果您想要日精度而不是纳秒精度,可以使用datetime64[D]。

print(type(df_launath['date'].iloc[0])) 

产生的结果


与使用pandas.to_datetime相同。

您可以尝试其他格式,但至少这种格式是有效的。

0
0 Comments

最简单的方法是使用 to_datetime

df['col'] = pd.to_datetime(df['col'])

它还提供了一个 dayfirst 参数用于欧洲时间(但要注意 这并不严格)。

下面是其实际使用效果:

In [11]: pd.to_datetime(pd.Series(['05/23/2005']))
Out[11]:
0   2005-05-23 00:00:00
dtype: datetime64[ns]

您可以传递一个特定的 格式

In [12]: pd.to_datetime(pd.Series(['05/23/2005']), format="%m/%d/%Y")
Out[12]:
0   2005-05-23
dtype: datetime64[ns]

0