如何将带有日期时间的DataFrame列分为两列:一列带有日期,另一列带有一天中的时间?

Kev*_*217 5 python datetime series dataframe pandas

我有一个名为的数据框data,其中有这样的列Dates

                 Dates
0  2015-05-13 23:53:00
1  2015-05-13 23:53:00
2  2015-05-13 23:33:00
3  2015-05-13 23:30:00
4  2015-05-13 23:30:00
Run Code Online (Sandbox Code Playgroud)

我知道如何向数据框添加列,但如何划分Dates

          Day         Time
0  2015-05-13     23:53:00
1  2015-05-13     23:53:00
2  2015-05-13     23:33:00
3  2015-05-13     23:30:00
4  2015-05-13     23:30:00
Run Code Online (Sandbox Code Playgroud)

Ami*_*ory 4

如果您的系列是s,那么这将创建这样一个 DataFrame:

pd.DataFrame({
    'date': pd.to_datetime(s).dt.date,
    'time': pd.to_datetime(s).dt.time})
Run Code Online (Sandbox Code Playgroud)

一旦您使用 转换系列pd.to_datetime,则dt可以使用该成员来提取零件。


例子

import pandas as pd

s = pd.Series(['2015-05-13 23:53:00', '2015-05-13 23:53:00'])
>>> pd.DataFrame({
    'date': pd.to_datetime(s).dt.date,
    'time': pd.to_datetime(s).dt.time})
    date    time
0   2015-05-13  23:53:00
1   2015-05-13  23:53:00
Run Code Online (Sandbox Code Playgroud)