📜  将 datetime 拆分为日期和时间 pandas - Python (1)

📅  最后修改于: 2023-12-03 15:09:31.108000             🧑  作者: Mango

将 datetime 拆分为日期和时间 pandas - Python

在数据分析中,常常需要处理日期时间类型的数据。本文将介绍如何使用 Pandas 将 datetime 类型的数据拆分为日期和时间。

整体思路

将 datetime 类型的数据转为字符串,再使用字符串的切片操作,从中抽取出日期和时间。

代码实现

先生成一个包含 datetime 数据的 DataFrame:

import pandas as pd
df = pd.DataFrame({'datetime': ['2019-01-01 12:00:00', '2019-01-02 15:30:00', '2019-01-03 10:45:00']})

我们可以使用 Pandas 的 to_datetime() 函数将字符串转为 datetime 类型:

df['datetime'] = pd.to_datetime(df['datetime'])

然后,我们可以再将 datetime 数据类型转为字符串类型,以便使用字符串的切片操作:

df['datetime_str'] = df['datetime'].astype(str)

接下来,我们将使用字符串的切片操作抽取日期和时间:

df['date'] = df['datetime_str'].str.slice(0, 10)
df['time'] = df['datetime_str'].str.slice(11, 19)

最后,我们可以删除 datetime_str 这一列,因为我们已经将日期和时间提取出来了:

df.drop('datetime_str', axis=1, inplace=True)

完整代码如下:

import pandas as pd
df = pd.DataFrame({'datetime': ['2019-01-01 12:00:00', '2019-01-02 15:30:00', '2019-01-03 10:45:00']})
df['datetime'] = pd.to_datetime(df['datetime'])
df['datetime_str'] = df['datetime'].astype(str)
df['date'] = df['datetime_str'].str.slice(0, 10)
df['time'] = df['datetime_str'].str.slice(11, 19)
df.drop('datetime_str', axis=1, inplace=True)
print(df)

输出结果如下:

             datetime        date      time
0 2019-01-01 12:00:00  2019-01-01  12:00:00
1 2019-01-02 15:30:00  2019-01-02  15:30:00
2 2019-01-03 10:45:00  2019-01-03  10:45:00
总结

本文介绍了如何使用 Pandas 将 datetime 类型的数据拆分为日期和时间。主要思路是将 datetime 数据类型转为字符串类型,并使用字符串的切片操作抽取日期和时间。这一操作可以在数据分析中方便地进行时间序列分析等操作。