如何从pandas的日期列中提取月份信息?
提取highpoint_date列月份的实现方法
你当前使用的字符串切片方法仅适配固定格式的日期字符串,鲁棒性较差,使用pandas内置的datetime处理能力可以更简便可靠的实现需求:
核心操作步骤
- 先将
highpoint_date列转换为pandas datetime类型,后续可直接通过内置属性提取各类时间信息
expeditions['highpoint_date'] = pd.to_datetime(expeditions['highpoint_date'])
- 根据需求提取对应格式的月份:
- 提取数字格式月份(取值范围1~12):
expeditions['month_highpoint'] = expeditions['highpoint_date'].dt.month
- 提取英文月份全称(如September):
expeditions['month_highpoint'] = expeditions['highpoint_date'].dt.month_name()
- 提取英文月份缩写(如Sep):
expeditions['month_highpoint'] = expeditions['highpoint_date'].dt.strftime('%b')
完整可运行代码
import pandas as pd expeditions = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/expeditions.csv") # 转换日期列类型 expeditions['highpoint_date'] = pd.to_datetime(expeditions['highpoint_date']) # 提取数字月份 expeditions['month_highpoint'] = expeditions['highpoint_date'].dt.month
内容的提问来源于stack exchange,提问作者easy
相关产品推荐
相关产品推荐

