提取Excel中的Hijri日期并绘图:合并重复日期计数以展示唯一日期
提取Excel中的Hijri日期并绘图:合并重复日期计数以展示唯一日期
嘿,我明白你的困扰啦!X轴重复的日期确实会让图表看起来乱糟糟的,解决的关键就是先把同一天的counts加总,得到每个唯一日期的总计数,再去绘图就完美了。下面给你两种实用的解决办法,按需选就行:
你的原始Excel数据
| Date | counts |
|---|---|
| 1446/05/25 | 12 |
| 1446/05/26 | 2 |
| 1446/05/26 | 6 |
| 1446/05/26 | 1 |
| 1446/05/26 | 1 |
| 1446/05/26 | 6 |
| 1446/05/27 | 6 |
| 1446/05/27 | 6 |
| 1446/05/28 | 4 |
| 1446/05/28 | 6 |
| 1446/05/29 | 9 |
方法一:用Excel内置功能快速处理(不用写代码)
适合偶尔处理这类数据的情况,操作超简单:
- 选中你表格里的所有数据(包括表头
Date和counts) - 切换到「数据」选项卡,找到并点击「分类汇总」按钮
- 分类字段选择
Date,汇总方式选「求和」,选定汇总项勾选counts
- 分类字段选择
- 点击确定后,Excel会自动把同一天的计数加总。你可以把汇总后的结果(就是每个日期对应的那一行总计数)复制出来,用这个干净的数据去绘图,X轴就都是唯一的日期啦!
方法二:用Python代码自动化处理(适合重复使用场景)
如果需要经常处理这类数据,用代码效率更高,这里用pandas来合并数据,matplotlib绘图:
import pandas as pd import matplotlib.pyplot as plt # 读取Excel文件,替换成你自己的文件路径和工作表名 df = pd.read_excel("你的文件路径.xlsx", sheet_name="Sheet1") # 按Date分组,对counts字段求和,得到唯一日期的总计数 aggregated_df = df.groupby("Date")["counts"].sum().reset_index() # 绘制柱状图(也可以换成折线图,把plt.bar改成plt.plot就行) plt.figure(figsize=(10, 6)) plt.bar(aggregated_df["Date"], aggregated_df["counts"], color="#2ca02c") plt.xlabel("Hijri 日期") plt.ylabel("总计数") plt.title("每日总计数(唯一Hijri日期)") plt.xticks(rotation=45) # 旋转日期标签,避免重叠 plt.tight_layout() # 自动调整布局,防止标签被截断 plt.show()
运行这段代码后,生成的图表X轴就是每个唯一的Hijri日期,对应的数据是当天的总计数,完全不会有重复啦!
备注:内容来源于stack exchange,提问作者Yousra Gad
相关产品推荐
相关产品推荐

