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

将读取CSV的Python图表函数改为接收列表作为输入

修改后的函数(输入为列表)

方案1:直接接收数值列表(最简洁)

如果已经拿到Total、Clean、Dirty三个指标的数值列表,直接传入即可,无需额外处理DataFrame:

def Graph(list1, list2):
    fig = make_subplots(rows=1, cols=3)
    list_of_attributes = ["Total", "Clean", "Dirty"]
    
    # 直接使用传入的数值列表
    data_list = list1
    data_list2 = list2

    fig.add_trace(go.Bar(name='数据组1', x=list_of_attributes, y=data_list, marker=dict(color='red')), row=1, col=2)
    fig.add_trace(go.Bar(name='数据组2', x=list_of_attributes, y=data_list2, marker=dict(color='blue')), row=1, col=1)

    fig.show()

# 调用示例:传入两个包含三个数值的列表
Graph([100, 70, 30], [120, 85, 35])

方案2:接收模拟CSV结构的列表(兼容原逻辑)

如果输入列表是模拟CSV的行数据(包含Name字段),可以保留原数据提取逻辑,仅替换文件读取步骤:

def Graph(first_data, second_data):
    fig = make_subplots(rows=1, cols=3)
    list_of_attributes = ["Total", "Clean", "Dirty"]
    
    # 将输入列表转为DataFrame,替代读取CSV的步骤
    df = pd.DataFrame(first_data)
    df2 = pd.DataFrame(second_data)
    
    data_list = []
    data_list2 = []
    show_bar = df[df.Name == "SUM"]
    show_bar2 = df2[df2.Name == "SUM"]
    
    for n in list_of_attributes:
        data_list.append(int(show_bar[n]))
        data_list2.append(int(show_bar2[n]))

    fig.add_trace(go.Bar(name='数据组1', x=list_of_attributes, y=data_list, marker=dict(color='red')), row=1, col=2)
    fig.add_trace(go.Bar(name='数据组2', x=list_of_attributes, y=data_list2, marker=dict(color='blue')), row=1, col=1)

    fig.show()

# 调用示例:传入模拟CSV行数据的列表
Graph(
    [{"Name": "SUM", "Total": 100, "Clean": 70, "Dirty": 30}, {"Name": "Other", "Total": 50, "Clean": 40, "Dirty": 10}],
    [{"Name": "SUM", "Total": 120, "Clean": 85, "Dirty": 35}, {"Name": "Other", "Total": 60, "Clean": 50, "Dirty": 10}]
)

修改说明

  1. 参数替换:把原函数的文件名参数换成列表类型,根据你的实际数据结构选择对应方案。
  2. 移除文件读取:删除pd.read_csv()相关代码,直接用传入的列表构建数据或直接使用数值列表。
  3. 调用调整:调用时传入符合要求的列表,不再传递文件名。
  4. 修复错误:修正了原代码调用时的拼写错误Grapfh→Graph。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:10:18