嘿所以我已经看到了几个关于此的问题,但是,我还没有成功解决我的问题。
我在格式中有一列时间:
2014-07-17 00:59:27.400189 + 00
我想将其拆分为两列,日期和小时。
我用过
posts['Date']=pd.to_datetime(posts['Time'],format='%Y-%m-%d %H:%M:%S')
然而,我收到错误
ValueError: unconverted data remains: 400189+00
我不确定如何标记最后一点信息。我尝试添加%o但收到了另一个错误
ValueError: 'o' is a bad directive in format '%Y-%m-%d %H:%M:%S.%o'
关于如何将这两个值分成两列的任何想法?
谢谢!
答案 0 :(得分:2)
以下为我工作:
In [18]:
import pandas as pd
df = pd.DataFrame({'Date':['2014-07-17 00:59:27.400189+00']})
df.dtypes
Out[18]:
Date object
dtype: object
In [19]:
df['Date'] = pd.to_datetime(df['Date'])
df.dtypes
Out[19]:
Date datetime64[ns]
dtype: object
In [20]:
df['Time'],df['Date']= df['Date'].apply(lambda x:x.time()), df['Date'].apply(lambda x:x.date())
df
Out[20]:
Date Time
0 2014-07-17 00:59:27.400189
[1 rows x 2 columns]
答案 1 :(得分:0)
这对我有用
import pandas as pd
data = pd.DataFrame({'Date':['2014-07-17 00:59:27.400189+00']})
data['Dates'] = pd.to_datetime(data['Date'], format='%Y:%M:%D').dt.date
data['Hours'] = pd.to_datetime(data['Date'], format='%Y:%M:%D').dt.time
你必须
print(data)
Dates Hours
2014-07-17 00:59:27.400189+00
答案 2 :(得分:0)
import pandas as pd
data = pd.DataFrame({'Date':['2014-07-17 00:59:27.400189+00']})
data['Dates'] = pd.to_datetime(data['Date'], format='%Y:%M:%D').dt.date
data['Hours'] = pd.to_datetime(data['Date'], format='%Y:%M:%D').dt.time
这给了我对象类型日期和时间。预期的列应为日期格式