如何从df中读取值到plotly express sunburst中?

0 投票
1 回答
21 浏览
提问于 2025-04-14 15:41

我有一个只有一行的csv文件,我想把它读进一个数据框(dataframe),然后导出到一个plotly express的Sunburst图表中。不过,我在把数据框里的值放到图表里时遇到了麻烦。

JobCompletion.csv:
总数,完成,未成功,失败,超时,取消
188844,166718,22124,1018,20,21086

df = pd.read_csv("JobCompletion.csv")

df
     Total  Completed  Unsuccessful  Failed  Timeout  Cancelled
0   188844     166718         22124    1018       20      21086

我的“名称”总是像上面那样,所以我可以把它们直接写成变量:

categories = ["Total","Completed","Unsuccessful","Failed","Timeout","Cancelled"]
parent = ["","Total","Total","Unsuccessful","Unsuccessful","Unsuccessful"]

如果我把一组值写死在代码里:

value = [18844,166718,22124,1018,20,21086]

那么下面的代码就可以用来生成我的Sunburst图:

fig = px.sunburst(df,
                  names = categories,
                  parents = parent,
                  values = value, # here's where I need help
                  branchvalues = 'total')

但是,我需要动态地从我的csv文件或数据框中读取这些值到图表里。由于我对plotly的基础知识有限,搞不清楚怎么从数据框中提取值。任何帮助都非常感谢。

1 个回答

0

你可以通过 df.loc[0, :].values.tolist() 这个命令把数据表的第一行提取出来,结果会以列表的形式呈现。如果你想获取其他行的数据,只需要把0改成你想要的行号就可以了。

如果你想获取列名,而不是用固定的列表,你可以使用 df.columns.tolist() 这个命令。

撰写回答