2014-07-17 130 views
1

嘿所以我已經看到了幾個關於這個的問題,但是,我還沒有成功解決我的問題。將日期時間列拆分成日期和時間Python

我的格式爲一列時間:

2014年7月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

是否沒有格式字符串工作:'帖[」日期 '] = pd.to_datetime(帖[' 時代'])'? – EdChum

+0

你有沒有試過'格式'的'%Y-%m-%d%H:%M:%S.%f'? – shaktimaan

回答

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] 
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