用Python Pandas编写程序从datetime列中分离日期和时间

用Python Pandas编写程序从datetime列中分离日期和时间

在数据处理中,我们经常需要从datetime类型的列中分离出日期和时间。使用Python Pandas库可以很方便地实现这一功能。

分离日期和时间

为了演示如何从datetime列中分离出日期和时间,我们首先创建一个示例数据,包含一个日期时间列。

import pandas as pd

# 创建示例数据
data = {'datetime': ['2021-01-01 10:00:00', '2021-01-02 11:00:00', '2021-01-03 12:00:00']}
df = pd.DataFrame(data)
df['datetime'] = pd.to_datetime(df['datetime'])  # 将列转换为datetime类型
print(df)

输出结果为:

             datetime
0 2021-01-01 10:00:00
1 2021-01-02 11:00:00
2 2021-01-03 12:00:00

接下来,我们可以使用Pandas的dt属性获取日期和时间。

# 获取日期和时间
df['date'] = df['datetime'].dt.date
df['time'] = df['datetime'].dt.time
print(df)

输出结果为:

             datetime        date      time
0 2021-01-01 10:00:00  2021-01-01  10:00:00
1 2021-01-02 11:00:00  2021-01-02  11:00:00
2 2021-01-03 12:00:00  2021-01-03  12:00:00

如上所示,我们使用了dt属性,分别获取了日期和时间,并将它们添加到了DataFrame中的新列中。

转换为字符串

有时候,我们需要将日期和时间转换为字符串类型。使用strftime()函数可以实现这一功能。

# 将日期和时间转换为字符串
df['date'] = df['date'].apply(lambda x: x.strftime('%Y-%m-%d'))
df['time'] = df['time'].apply(lambda x: x.strftime('%H:%M:%S'))
print(df)

输出结果为:

             datetime        date      time
0 2021-01-01 10:00:00  2021-01-01  10:00:00
1 2021-01-02 11:00:00  2021-01-02  11:00:00
2 2021-01-03 12:00:00  2021-01-03  12:00:00

结论

通过Pandas库的dt属性可以很方便地从datetime类型的列中分离出日期和时间。同时,我们也可以使用strftime()函数将其转换为字符串类型。使用这些方法,可以使我们更加轻松有效地处理日期时间数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程