如何使用Python Pandas按年月对日期数据进行分组?
使用Python Pandas按年月分组日期数据
步骤说明
导入Pandas并构建数据结构
先把你的日期数据放进DataFrame,这是Pandas处理数据的基础结构。将字符串日期转换为datetime类型
原始日期是日/月/年格式,必须先转成Pandas能识别的datetime类型,才能进行日期相关操作。提取年月并格式化输出
利用datetime列的dt访问器,提取年月并格式化为月份缩写-年份的样式,最后去重得到唯一的年月值。
完整代码示例
import pandas as pd # 原始日期数据 date_list = ['01/02/2022', '01/02/2022', '02/02/2022', '01/03/2022'] df = pd.DataFrame({'date': date_list}) # 转换为datetime类型(指定dayfirst=True适配日/月/年格式) df['date'] = pd.to_datetime(df['date'], dayfirst=True) # 提取年月并格式化为目标样式,获取唯一值 unique_month_year = df['date'].dt.strftime('%b-%Y').unique() # 输出结果 for item in unique_month_year: print(item)
输出结果
Feb-2022 Mar-2022
扩展:分组统计每月数据量
如果需要统计每个年月对应的日期数量,可以用groupby:
# 按年月分组并统计数量 monthly_count = df.groupby(df['date'].dt.to_period('M')).size() # 将索引格式化为目标样式 monthly_count.index = monthly_count.index.strftime('%b-%Y') # 打印分组后的年月和数量 print(monthly_count)
输出:
Feb-2022 3 Mar-2022 1 dtype: int64
内容的提问来源于stack exchange,提问作者Ant
相关产品推荐
相关产品推荐

