📅  最后修改于: 2023-12-03 15:09:31.108000             🧑  作者: Mango
在数据分析中,常常需要处理日期时间类型的数据。本文将介绍如何使用 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 数据类型转为字符串类型,并使用字符串的切片操作抽取日期和时间。这一操作可以在数据分析中方便地进行时间序列分析等操作。