【发布时间】:2021-08-19 04:24:02
【问题描述】:
我正在努力制作显示分组数据框结果的散景图。以下是问题。
我有一些来自数据框的数据:
data = pd.read_csv('CompanyStructure.csv', index_col = 0)
如下所示,其中包含数千行:
我想在按变量分组后可视化这个数据框。它也可以是两个或一个变量的组合。下面我提供了一个示例,我对所有前三个列进行分组:
grouped = data.groupby(by=['hour', 'Code', 'Type']).sum()
框架如下:
现在我想形象化这一点。以下是我的做法:
source = ColumnDataSource(data=grouped)
p = figure(x_range = source.data['hour_Code_Type'].tolist())
p.vbar(x='hour_Code_Type', top='Value', source=source)
show(p)
然后我得到以下错误:
ValueError: Unrecognized range input: '[(0, 'DK1', 'A'), (0, 'DK1', 'P'), (0, 'DK1', 'T'), (0, 'DK2', 'A'), (0, 'DK2', 'P'), (0, 'DK2', 'T'), (1, 'DK1', 'A'), (1, 'DK1 ', 'P'), (1, 'DK1', 'T'), (1, 'DK2', 'A'), (1, 'DK2', 'P'), (1, 'DK2', 'T'), (2, 'DK1', 'A'), (2, 'DK1', 'P'), (2, 'DK1', 'T'), (2, 'DK2', 'A' '), (2, 'DK2', 'P'), (2, 'DK2', 'T'), (3, 'DK1', 'A'), (3, 'DK1', 'P') , (3, 'DK1', 'T'), (3, 'DK2', 'A'), (3, 'DK2', 'P'), (3, 'DK2', 'T'), ( 4, 'DK1', 'A'), (4, 'DK1', 'P'), (4, 'DK1', 'T') ...
我确实理解这个错误,但我根本不知道如何解决这个问题。如何使 x_range 可视化一个值,如图所示。我的理想工具是交互式工具(这就是我使用散景的原因),它会根据选择分组的变量制作条形图。
希望有人能帮帮我。
【问题讨论】:
-
散景分类因子始终是字符串,因此首先需要将元组中的所有整数转换为字符串。
-
@bigreddot 感谢您的贡献。不幸的是,这并不能解决问题。
-
我没有说它会,只是那是绝对错误的一件事(可能还有其他)。没有Minimal Reproducible Example,很难说更多。如果您提供了 MRE,我会直接运行并修复它。
标签: python pandas bar-chart bokeh multi-index