如何将此字符串单独转换为datetime和date
这个问题远非唯一,但我无法找到一种方法将此df列中包含的字符串转换为datetime和date-alone对象,以便将它们用作我的数据帧的索引 如何将此字符串转换为datetime或date格式,以便将其用作df上的索引 本栏的具体格式如下:如何将此字符串单独转换为datetime和date,date,datetime,pandas,Date,Datetime,Pandas,这个问题远非唯一,但我无法找到一种方法将此df列中包含的字符串转换为datetime和date-alone对象,以便将它们用作我的数据帧的索引 如何将此字符串转换为datetime或date格式,以便将其用作df上的索引 本栏的具体格式如下: >>> data['DateTime'] 0 20140101 00:00:00 1 20140101 00:00:00 3 20140101 00:00:00 4 20140101 00:00:00 5
>>> data['DateTime']
0 20140101 00:00:00
1 20140101 00:00:00
3 20140101 00:00:00
4 20140101 00:00:00
5 20140101 00:00:00
6 20140101 00:00:00
7 20140101 00:00:00
8 20140101 00:00:00
9 20140101 00:00:00
10 20140101 00:00:00
Name: DateTime, Length: 3779, dtype: object
使用
to_datetime
将字符串转换为datetime,您可以传递格式化字符串,但在这种情况下,它似乎处理得很好,然后如果需要日期,则调用apply
并使用lambda对每个datetime条目调用.date()
:
In [59]:
df = pd.DataFrame({'DateTime':['20140101 00:00:00']*10})
df
Out[59]:
DateTime
0 20140101 00:00:00
1 20140101 00:00:00
2 20140101 00:00:00
3 20140101 00:00:00
4 20140101 00:00:00
5 20140101 00:00:00
6 20140101 00:00:00
7 20140101 00:00:00
8 20140101 00:00:00
9 20140101 00:00:00
In [60]:
df['DateTime'] = pd.to_datetime(df['DateTime'])
df.dtypes
Out[60]:
DateTime datetime64[ns]
dtype: object
In [61]:
df['DateTime'] = df['DateTime'].apply(lambda x:x.date())
print(df)
df.dtypes
DateTime
0 2014-01-01
1 2014-01-01
2 2014-01-01
3 2014-01-01
4 2014-01-01
5 2014-01-01
6 2014-01-01
7 2014-01-01
8 2014-01-01
9 2014-01-01
Out[61]:
DateTime object
dtype: object
如果不清楚,格式为:年、月、日。谢谢。仅供参考,您可以使用DatetimeIndex包装并使用date()