如何将字符串(采用dd/mm/yyyy格式)的DataFrame列转换为datetimes?
发布于 2013-06-16 23:18:23
最简单的方法是使用to_datetime
df['col'] = pd.to_datetime(df['col'])
它还为欧洲时报提供了一个dayfirst
论点(但要小心this isn't strict)。
这就是它的实际作用:
In [11]: pd.to_datetime(pd.Series(['05/23/2005']))
Out[11]:
0 2005-05-23 00:00:00
dtype: datetime64[ns]
您可以传递特定的format
In [12]: pd.to_datetime(pd.Series(['05/23/2005']), format="%m/%d/%Y")
Out[12]:
0 2005-05-23
dtype: datetime64[ns]
发布于 2017-06-26 22:35:28
如果您的date列是一个格式为'2017-01-01‘的字符串,您可以使用pandas astype将其转换为datetime。
df['date'] = df['date'].astype('datetime64[ns]')
或者,如果您想要日精度而不是纳秒,请使用datetime64D
print(type(df_launath['date'].iloc[0]))
收益率
与使用pandas.to_datetime时的<class 'pandas._libs.tslib.Timestamp'>
相同
您可以尝试使用其他格式,然后是'%Y-%m-%d‘,但至少这是有效的。
发布于 2018-05-02 16:14:17
如果要指定复杂的格式,可以使用以下内容:
df['date_col'] = pd.to_datetime(df['date_col'], format='%d/%m/%Y')
有关format
的更多详细信息,请单击此处:
Python 2 https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
https://stackoverflow.com/questions/17134716
复制相似问题