Pandas 列转换为DateTime
在本文中,我们将介绍如何使用Pandas将列转换为DateTime类型。Pandas是一个用于数据分析的Python库,它提供了很多方便的方法来操作和处理数据。
Pandas提供了to_datetime方法,将某个列转换为DateTime类型。该方法可以将字符串转换为DateTime类型,也可以将数据序列转换为DateTime类型。
阅读更多:Pandas 教程
将字符串转换为DateTime
首先,我们将演示如何将字符串转换为DateTime类型。假设我们有一个名为“dates”的数据列,其中包含日期的字符串。
import pandas as pd
# 创建包含日期字符串的数据列
df = pd.DataFrame({'dates': ['2021-01-01', '2021-02-01', '2021-03-01']})
print(df['dates'])
输出为:
0 2021-01-01
1 2021-02-01
2 2021-03-01
Name: dates, dtype: object
我们可以使用to_datetime方法将其转换为DateTime类型:
df['dates'] = pd.to_datetime(df['dates'])
print(df['dates'])
输出为:
0 2021-01-01
1 2021-02-01
2 2021-03-01
Name: dates, dtype: datetime64[ns]
现在,“dates”列已成功转换为DateTime类型。
将数据序列转换为DateTime
除了将字符串转换为DateTime类型外,我们还可以将数据序列转换为DateTime类型。假设我们有一个名为“timestamp”的数据列,其中包含时间戳。
# 创建包含时间戳的数据列
df = pd.DataFrame({'timestamp': [1669867833, 1669867834, 1669867835]})
print(df['timestamp'])
输出为:
0 1669867833
1 1669867834
2 1669867835
Name: timestamp, dtype: int64
我们可以使用to_datetime方法并指定单位(unit)为“s”将其转换为DateTime类型:
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s')
print(df['timestamp'])
输出为:
0 2022-05-02 06:50:33
1 2022-05-02 06:50:34
2 2022-05-02 06:50:35
Name: timestamp, dtype: datetime64[ns]
现在,“timestamp”列已成功转换为DateTime类型,并且每个时间戳都转换为对应的日期和时间。
自定义日期时间格式
可以使用to_datetime方法中的format参数自定义日期时间格式。假设我们有一个名为“datetime”的数据列,其中包含日期和时间的字符串,格式为“%m/%d/%Y %H:%M”。
# 创建包含日期和时间的数据列
df = pd.DataFrame({'datetime': ['01/01/2021 00:00', '02/01/2021 01:00', '03/01/2021 02:00']})
print(df['datetime'])
输出为:
0 01/01/2021 00:00
1 02/01/2021 01:00
2 03/01/2021 02:00
Name: datetime, dtype: object
我们可以使用to_datetime方法和format参数将其转换为DateTime类型:
df['datetime'] = pd.to_datetime(df['datetime'], format='%m/%d/%Y %H:%M')
print(df['datetime'])
输出为:
0 2021-01-01 00:00:00
1 2021-02-01 01:00:00
2 2021-03-01 02:00:00
Name: datetime, dtype: datetime64[ns]
现在,“datetime”列已成功转换为DateTime类型,且日期和时间的格式与输入相同。
练习
使用以上学到的知识,将下面的数据转换为DateTime类型:
import pandas as pd
data = pd.DataFrame({'date': ['2022-05-01', '2022-05-02', '2022-05-03'], 'time': ['10:11:12', '08:09:10', '20:21:22']})
print(data)
将“date”和“time”列分别转换为日期和时间的DateTime类型。
总结
使用Pandas的to_datetime方法可以方便地将列转换为DateTime类型。我们可以将日期和时间的字符串或时间戳序列转换为DateTime类型,还可以自定义日期时间格式。这在处理时间序列数据时非常有用。
极客教程