📌  相关文章
📜  Pandas 将字符串转换为日期(1)

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

Pandas 将字符串转换为日期

Pandas 是 Python 的一个强大的数据分析库,它支持将字符串转换为日期类型,并具有一些方便的方法来处理日期数据。在数据分析中,经常需要对时间序列数据进行分析,因此将字符串转换为日期是极为常见的操作。

1. 转换为日期

Pandas 的 to_datetime() 函数可以将字符串转换为日期。

import pandas as pd

date_str = '2022-05-15'
date = pd.to_datetime(date_str)

print(date)

输出结果:

2022-05-15 00:00:00

to_datetime() 函数默认将字符串转换为 YYYY-MM-DD HH:MM:SS 格式的日期。

2. 转换为日期并指定格式

如果需要将字符串转换为特定格式的日期,可以通过指定 format 参数来实现。例如,将日期字符串转换为 MM/DD/YYYY 格式:

date_str = '05/15/2022'
date = pd.to_datetime(date_str, format='%m/%d/%Y')

print(date)

输出结果:

2022-05-15 00:00:00

format 参数的取值与 time 模块中的 strftime() 函数的格式化字符串参数相同。

3. 处理多个日期字符串

如果需要同时将多个日期字符串转换为日期,可以将它们放入一个列表中,然后使用 to_datetime() 函数实现转换。

date_list = ['2022-05-15', '2022-05-16', '2022-05-17']
dates = pd.to_datetime(date_list)

print(dates)

输出结果:

DatetimeIndex(['2022-05-15', '2022-05-16', '2022-05-17'], dtype='datetime64[ns]', freq=None)

将多个日期字符串转换为日期后,可以使用 Pandas 的时间序列方法来处理日期数据。例如,可以使用 dt 属性提取年、月、日等信息。

print(dates.dt.year)
print(dates.dt.month)
print(dates.dt.day)
4. 处理数据框中的日期数据

如果需要处理数据框中的日期数据,可以使用 Pandas 的 read_csv() 函数从 CSV 文件中读取数据,并将指定列转换为日期类型。

例如,假设有一个 CSV 文件中包含日期数据:

date,value
2022-05-15,10
2022-05-16,20
2022-05-17,30

可以使用如下代码读取该文件:

df = pd.read_csv('data.csv', parse_dates=['date'])

print(df.dtypes)

输出结果:

date     datetime64[ns]
value             int64
dtype: object

通过 parse_dates 参数指定 date 列转换为日期类型。读取后的数据框可以使用时间序列方法进行处理。例如:

print(df.loc[df['date'].dt.month == 5])

输出结果:

        date  value
0 2022-05-15     10
1 2022-05-16     20
2 2022-05-17     30

参考资料: