【问题标题】:Set the correct datetime format with pandas使用 pandas 设置正确的日期时间格式
【发布时间】:2020-03-14 19:30:57
【问题描述】:
我无法使用 Pandas 设置正确的日期时间格式,我不明白为什么我的命令不起作用。有什么解决办法吗?
date = ['01/10/2014 00:03:20']
value = [33.24]
df = pd.DataFrame({'value':value,'index':date})
df.index = pd.to_datetime(df.index,format='%d/%m/%y %H:%M:%S')
【问题讨论】:
标签:
python
pandas
datetime
format
【解决方案1】:
DatetimeIndex 的解决方案:
date = ['01/10/2014 00:03:20']
value = [33.24]
#create index by date list
df = pd.DataFrame({'value':value},index=date)
#use Y for match YYYY, y is for match YY years format
df.index = pd.to_datetime(df.index,format='%d/%m/%Y %H:%M:%S')
print (df)
value
2014-10-01 00:03:20 33.24
如果需要index 列名,请使用[] 以避免选择RangeIndex:
df = pd.DataFrame({'value':value,'index':date})
df['index'] = pd.to_datetime(df['index'],format='%d/%m/%Y %H:%M:%S')
print (df)
value index
0 33.24 2014-10-01 00:03:20
【解决方案2】:
将列称为“索引”有点混乱,将其更改为“索引日期”。
import pandas as pd
date = ['01/10/2014 00:03:20']
value = [33.24]
df = pd.DataFrame({'value':value,'index_date':date})
df['index_date'] = pd.to_datetime(df["index_date"], errors="coerce")
df的输出:
value index_date
0 33.24 2014-01-10 00:03:20
如果你运行df.dtypes
value float64
index_date datetime64[ns]