You need to enable JavaScript to run this app. 如何使用pandas将多个CSV文件的周一数据绘制到同一柱状图
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas将多个CSV文件的周一数据绘制到同一柱状图

实现代码

你可以通过合并三个文件数据+新增文件来源标记的方式实现需求,完整代码如下:

import pandas as pd
import matplotlib.pyplot as plt

# 定义待读取的文件列表
file_list = ["file1.csv", "file2.csv", "file3.csv"]
all_data = pd.DataFrame()

# 批量读取文件并合并,新增字段标记数据所属文件
for file_name in file_list:
    temp_df = pd.read_csv(file_name)
    temp_df["file_source"] = file_name
    all_data = pd.concat([all_data, temp_df], ignore_index=True)

# 筛选所有周一的记录
monday_data = all_data[all_data["DAY"] == "Monday"]

# 按文件来源分组计算STATUS各取值的占比
plot_data = monday_data.groupby("file_source")["STATUS"].value_counts(normalize=True).unstack()

# 绘制分组柱状图
plot_data.plot.bar(rot=0)
# 可选:自定义图表文本
plt.xlabel("所属CSV文件")
plt.ylabel("占比")
plt.title("各文件周一STATUS占比分布")
plt.legend(title="STATUS值")
plt.show()

效果说明

运行后生成的图表X轴为三个CSV文件名,每个文件名对应一组STATUS占比的分组柱状图,和你要求的输出效果完全一致。如果需要调整柱状图宽度、配色、位置,可以在plot.bar()方法中传入对应参数自定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 06:45:01