📜  从 pandas 的日期列中仅提取年月 - Python (1)

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

从 pandas 的日期列中仅提取年月 - Python

在使用 pandas 进行数据分析时,经常需要对日期类型的数据进行处理。有时候需要从日期列中仅提取年月,而不需要精确到天。以下是从 pandas 的日期列中仅提取年月的方法。

方法一:使用 pandas 的 dt 属性

利用 pandas 的 dt 属性可以将日期列转化为 DateTimeProperties 对象,从而可以使用类似于字符串方法的方法来获取年月信息。例如,假设数据集中的日期列名为 date,可以使用以下代码仅提取年月信息:

import pandas as pd

# 从 CSV 文件读取数据
df = pd.read_csv('data.csv')

# 将日期列转化为 DateTimeProperties 对象
df['date'] = pd.to_datetime(df['date'])

# 仅提取年月信息
df['year_month'] = df['date'].dt.strftime('%Y-%m')

上述代码中,使用了 pd.to_datetime() 方法将日期列转化为 DateTimeProperties 对象,并使用了 dt.strftime() 方法获取年月信息。

方法二:使用 apply 方法

利用 apply 方法,可以将自定义函数应用于每一行或每一列,并返回一个包含新值的 Series 或 DataFrame。例如,可以使用以下代码仅提取年月信息:

import pandas as pd

# 从 CSV 文件读取数据
df = pd.read_csv('data.csv')

# 使用 apply 方法仅提取年月信息
df['year_month'] = df['date'].apply(lambda x: x[:7])

在上述代码中,使用了 apply 方法将自定义 lambda 函数应用于每一行,并使用了切片方法获取年月信息。

总结

以上介绍了从 pandas 的日期列中仅提取年月的两种方法。第一种方法利用了 pandas 的 dt 属性,并使用了 dt.strftime() 方法;第二种方法使用了 apply 方法,并利用了 lambda 表达式。根据实际情况选择不同的方法即可。