将Pandas Column转换为DateTime

在pandas DataFrame中有一个字段是以string格式导入的。 它应该是一个date时间variables。 如何将其转换为date时间列,然后根据date进行过滤。

例:

  • DataFrame名称: raw_data
  • 列名: Mycol
  • 列中的值格式: '05SEP2014:00:00:00.000'

使用to_datetime函数,指定格式以匹配您的数据。

 raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f') 

您可以使用DataFrame方法.apply().apply()的值进行操作:

 >>> df = pd.DataFrame(['05SEP2014:00:00:00.000'],columns=['Mycol']) >>> df Mycol 0 05SEP2014:00:00:00.000 >>> import datetime as dt >>> df['Mycol'] = df['Mycol'].apply(lambda x: dt.datetime.strptime(x,'%d%b%Y:%H:%M:%S.%f')) >>> df Mycol 0 2014-09-05 
 raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f') 

工作,但是它会导致一个Python警告:A值试图被设置在DataFrame的一个片段的副本上。 尝试使用.loc[row_indexer,col_indexer] = value来代替

我想这是由于一些链接索引。