基于日期列表生成含年月及出现次数的Pandas DataFrame
生成年月统计的Pandas DataFrame解决方案
以下两种方法均可实现需求,将给定日期列表转换为仅包含年月及对应出现次数的DataFrame:
方法一:字符串截取法
直接对日期字符串切割提取年月部分,再统计次数:
import pandas as pd dates = ["2020-2-1", "2020-2-3", "2020-5-8"] # 提取每个日期的年月段 year_month_list = [d.rsplit('-', 1)[0] for d in dates] # 构建DataFrame并完成统计 result_df = pd.DataFrame({'Date': year_month_list}).value_counts().reset_index(name='Count')
方法二:Datetime类型处理法
借助Pandas的日期处理能力,转换为datetime类型后提取格式化的年月:
import pandas as pd dates = ["2020-2-1", "2020-2-3", "2020-5-8"] # 转换为datetime并格式化成年月格式 df = pd.DataFrame({'Date': pd.to_datetime(dates).strftime('%Y-%m')}) # 统计次数并重置索引 result_df = df.value_counts().reset_index(name='Count')
最终输出结果:
| Date | Count |
|---|---|
| 2020-2 | 2 |
| 2020-5 | 1 |
内容的提问来源于stack exchange,提问作者Saylent
相关产品推荐
相关产品推荐

