Python 将Datetime列拆分为日期和时间列

Python 将Datetime列拆分为日期和时间列,python,datetime,pandas,split,Python,Datetime,Pandas,Split,嘿,我已经看到了一些关于这个的问题,但是,我还没有成功地解决我的问题 我有一个单列时间格式: 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 我不确定最后一点信息的标签是什么。我尝

嘿,我已经看到了一些关于这个的问题,但是,我还没有成功地解决我的问题

我有一个单列时间格式:

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'
关于如何将这两个值分成两列,有什么想法吗


谢谢

以下几点对我很有用:

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]
这对我有用

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

这为我提供了对象类型日期和时间。所需列应为日期格式

如果没有格式字符串,它是否可以工作:
posts['date']=pd.to_datetime(posts['Time'])
?是否尝试过
%Y-%m-%d%H:%m:%S.%f
格式?
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