Pandas 列转换为DateTime

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'])
Python

输出为:

0    2021-01-01
1    2021-02-01
2    2021-03-01
Name: dates, dtype: object
Python

我们可以使用to_datetime方法将其转换为DateTime类型:

df['dates'] = pd.to_datetime(df['dates'])
print(df['dates'])
Python

输出为:

0   2021-01-01
1   2021-02-01
2   2021-03-01
Name: dates, dtype: datetime64[ns]
Python

现在,“dates”列已成功转换为DateTime类型。

将数据序列转换为DateTime

除了将字符串转换为DateTime类型外,我们还可以将数据序列转换为DateTime类型。假设我们有一个名为“timestamp”的数据列,其中包含时间戳。

# 创建包含时间戳的数据列
df = pd.DataFrame({'timestamp': [1669867833, 1669867834, 1669867835]})
print(df['timestamp'])
Python

输出为:

0    1669867833
1    1669867834
2    1669867835
Name: timestamp, dtype: int64
Python

我们可以使用to_datetime方法并指定单位(unit)为“s”将其转换为DateTime类型:

df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s')
print(df['timestamp'])
Python

输出为:

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]
Python

现在,“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'])
Python

输出为:

0    01/01/2021 00:00
1    02/01/2021 01:00
2    03/01/2021 02:00
Name: datetime, dtype: object
Python

我们可以使用to_datetime方法和format参数将其转换为DateTime类型:

df['datetime'] = pd.to_datetime(df['datetime'], format='%m/%d/%Y %H:%M')
print(df['datetime'])
Python

输出为:

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]
Python

现在,“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)
Python

将“date”和“time”列分别转换为日期和时间的DateTime类型。

总结

使用Pandas的to_datetime方法可以方便地将列转换为DateTime类型。我们可以将日期和时间的字符串或时间戳序列转换为DateTime类型,还可以自定义日期时间格式。这在处理时间序列数据时非常有用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册