我有一个字段在熊猫DataFrame导入字符串格式。 它应该是一个datetime变量。如何将其转换为datetime列,然后根据日期进行筛选。
例子:
df = pd.DataFrame({'date': ['05SEP2014:00:00:00.000']})
我有一个字段在熊猫DataFrame导入字符串格式。 它应该是一个datetime变量。如何将其转换为datetime列,然后根据日期进行筛选。
例子:
df = pd.DataFrame({'date': ['05SEP2014:00:00:00.000']})
当前回答
节省时间:
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'])
其他回答
节省时间:
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'])
使用to_datetime函数,指定与数据匹配的格式。
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')
你可以使用DataFrame方法.apply()来操作Mycol中的值:
>>> 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
使用pandas to_datetime函数将列解析为DateTime。此外,通过使用infer_datetime_format=True,它将自动检测格式并将提到的列转换为DateTime。
import pandas as pd
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], infer_datetime_format=True)
如果你有一个以上的列转换,你可以做以下:
df[["col1", "col2", "col3"]] = df[["col1", "col2", "col3"]].apply(pd.to_datetime)