我在pandas DataFrame中有一个字段,它以字符串格式导入 . 它应该是一个日期时间变量 . 如何将其转换为日期时间列,然后根据日期进行过滤 .
例:
DataFrame名称: raw_data
列名: Mycol
列中的值格式: '05SEP2014:00:00:00.000'
您可以使用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
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
.loc[row_indexer,col_indexer] = value
我猜这是由于一些链式索引 .
使用to_datetime函数,指定format以匹配您的数据 .
3 回答
您可以使用DataFrame方法.apply()来操作Mycol中的值:
但是它会导致Python警告的A值试图在DataFrame的切片副本上设置 . 请尝试使用
.loc[row_indexer,col_indexer] = value
我猜这是由于一些链式索引 .
使用to_datetime函数,指定format以匹配您的数据 .