首页 > 解决方案 > 将日期时间列拆分为熊猫中的日期和时间列

问题描述

我有以下问题。我的数据框中有一个 date_time 列(以及许多其他列)。

df["Date_time"].head()
0    2021-05-15 09:54
1    2021-05-27 17:04
2    2021-05-27 00:00
3    2021-05-27 09:36
4    2021-05-26 18:39
Name: Date_time, dtype: object

我想将此列分成两部分(日期和时间)。

我使用这个工作正常的公式:

df["Date"] = ""
df["Time"] = ""

def split_date_time(data_frame):
    for i in range(0, len(data_frame)):
        df["Date"][i] = df["Date_time"][i].split()[0]
        df["Time"][i] = df["Date_time"][i].split()[1]

split_date_time(df)

但是有没有更优雅的方式呢?谢谢

标签: pythonpandas

解决方案


dtaccessor 可以分别给你datetime

df["Date"] = df["Date_time"].dt.date
df["Time"] = df["Date_time"].dt.time

要得到

>>> df

            Date_time        Date      Time
0 2021-05-15 09:54:00  2021-05-15  09:54:00
1 2021-05-27 17:04:00  2021-05-27  17:04:00
2 2021-05-27 00:00:00  2021-05-27  00:00:00
3 2021-05-27 09:36:00  2021-05-27  09:36:00
4 2021-05-26 18:39:00  2021-05-26  18:39:00

推荐阅读