You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas按日期统计文本值数量并生成时间序列折线图

解决方案:Excel 操作流程
  • 步骤1:规范日期格式
    选中列A,右键选择「设置单元格格式」,切换到「日期」选项卡,选择可识别的年/月格式(如yyyy-mm),确保Excel能正确解析日期。
  • 步骤2:用数据透视表统计频次
    1. 选中整个数据集,点击「插入」→「数据透视表」,指定透视表放置位置。
    2. 字段配置:
      • 将列A的日期拖至「行」区域,右键行标签→「组合」,选择按「年」或「月」分组。
      • 将列B的文本值拖至「列」区域。
      • 再次将列B的文本值拖至「值」区域,右键值字段→「值字段设置」,选择「计数」。
  • 步骤3:生成折线图
    选中透视表的统计结果(含行标签、列标签和数值区域),点击「插入」→「折线图」,选择合适的样式即可。

解决方案:Python 代码实现

使用pandas处理数据,matplotlib/seaborn绘制折线图:

  • 步骤1:安装依赖(未安装时执行)
pip install pandas matplotlib seaborn
  • 步骤2:核心代码
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 读取数据集(csv格式示例,可替换为pd.read_excel读取Excel文件)
df = pd.read_csv('your_data.csv')

# 转换日期格式并提取分组维度(年/月)
df['date'] = pd.to_datetime(df['列A'])  # 替换为实际日期列名
# 按年分组则用df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.to_period('M')

# 分组统计各文本值的出现次数
count_result = df.groupby(['month', '列B']).size().unstack(fill_value=0)

# 绘制折线图
plt.figure(figsize=(12, 6))
sns.lineplot(data=count_result, marker='o')
plt.title('各文本值按月出现次数趋势')
plt.xlabel('月份')
plt.ylabel('出现次数')
plt.xticks(rotation=45)
plt.legend(title='文本类型')
plt.tight_layout()
plt.show()
  • 代码说明
    • 替换your_data.csv为你的数据集路径,列A、列B为实际列名。
    • 若需按年统计,将代码中month相关逻辑替换为year即可。

内容的提问来源于stack exchange,提问作者Alan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:15:52