Pandas 日期时间转换无法识别我的输入
Pandas datetime conversion does not recognize my input
我有一大组数据,其中日期和时间有单独的列。我想将它们转换为字符串,然后将它们转换为日期时间。但是,总是弹出这个值错误。
ValueError: time data '200101030' does not match format '%Y%m%d%H%M%S' (match)
数据格式如下:
<DTYYYYMMDD> <TIME> Adj. Open Adj. High Adj. Low Adj. Close volume
20010102 230100 0.5617 0.5617 0.5617 0.5617 4
20010102 230400 0.5616 0.5616 0.5616 0.5616 4
代码如下:
df=pd.read_csv('AUDUSD.txt')
df['DATE']=df['<DTYYYYMMDD>'].map(str)+df['<TIME>'].map(str)
df['DATE']=pd.to_datetime(df['DATE'],format="%Y%m%d%H%M%S")
print(df.head(15))
非常感谢任何帮助!!
一些错误数据有问题 - 在列 <TIME>
中是 zero
。
需要参数 errors='coerce'
将错误数据转换为 NaT
:
print (df)
<DTYYYYMMDD> <TIME> Adj. Open Adj. High Adj. Low Adj. Close volume
0 20010102 230100 0.5617 0.5617 0.5617 0.5617 4
1 20010103 0 0.5616 0.5616 0.5616 0.5616 4
df['DATE']=df['<DTYYYYMMDD>'].astype(str)+df['<TIME>'].astype(str)
df['DATE']=pd.to_datetime(df['DATE'],format="%Y%m%d%H%M%S", errors='coerce')
print (df)
<DTYYYYMMDD> <TIME> Adj. Open Adj. High Adj. Low Adj. Close volume \
0 20010102 230100 0.5617 0.5617 0.5617 0.5617 4
1 20010103 0 0.5616 0.5616 0.5616 0.5616 4
DATE
0 2001-01-02 23:01:00
1 NaT
我有一大组数据,其中日期和时间有单独的列。我想将它们转换为字符串,然后将它们转换为日期时间。但是,总是弹出这个值错误。
ValueError: time data '200101030' does not match format '%Y%m%d%H%M%S' (match)
数据格式如下:
<DTYYYYMMDD> <TIME> Adj. Open Adj. High Adj. Low Adj. Close volume
20010102 230100 0.5617 0.5617 0.5617 0.5617 4
20010102 230400 0.5616 0.5616 0.5616 0.5616 4
代码如下:
df=pd.read_csv('AUDUSD.txt')
df['DATE']=df['<DTYYYYMMDD>'].map(str)+df['<TIME>'].map(str)
df['DATE']=pd.to_datetime(df['DATE'],format="%Y%m%d%H%M%S")
print(df.head(15))
非常感谢任何帮助!!
一些错误数据有问题 - 在列 <TIME>
中是 zero
。
需要参数 errors='coerce'
将错误数据转换为 NaT
:
print (df)
<DTYYYYMMDD> <TIME> Adj. Open Adj. High Adj. Low Adj. Close volume
0 20010102 230100 0.5617 0.5617 0.5617 0.5617 4
1 20010103 0 0.5616 0.5616 0.5616 0.5616 4
df['DATE']=df['<DTYYYYMMDD>'].astype(str)+df['<TIME>'].astype(str)
df['DATE']=pd.to_datetime(df['DATE'],format="%Y%m%d%H%M%S", errors='coerce')
print (df)
<DTYYYYMMDD> <TIME> Adj. Open Adj. High Adj. Low Adj. Close volume \
0 20010102 230100 0.5617 0.5617 0.5617 0.5617 4
1 20010103 0 0.5616 0.5616 0.5616 0.5616 4
DATE
0 2001-01-02 23:01:00
1 NaT