如何根据两列将直方图拆分为多个图?

Posted

技术标签:

【中文标题】如何根据两列将直方图拆分为多个图?【英文标题】:How can I split histogram into multiple plots based on two columns? 【发布时间】:2022-01-11 17:42:20 【问题描述】:

我在处理 pandas 的子图时遇到问题。我的目标是从我收集的一些准确性数据中创建一些直方图。我想根据它们的“id”和“条形码”在不同的轴上绘制这些直方图。我总共有 2 个条形码和 5 个 id 变体,所以想绘制 10 个直方图。数据看起来像这样,除了大约有一百万行。

df = pd.DataFrame'id': 'a', 'b', 'c', 'barcode': '2', '3', '4', 'accuracy': '99', '98', '99'

我试过了:

fig, ax = plt.subplots(5, 2,sharey='none', sharex='none',figsize=(20,20)) 
df.groupby('id')['accuracy'].hist(by=df['barcode'])

这只是按条形码分割直方图,所以我尝试了:

df['accuracy'].hist(by=df['id', 'barcode'])

这给出了 '['id', 'barcode']' 的关键错误

也许有一个比 pandas 更好的模块可以做到这一点?

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

好的,这是一个令人尴尬的简单修复,我刚刚从 id 和 barcode 列创建了一个 ID 列,如下所示:

df['newid'] = df['barcode'] + df['id']
df['accuracy'].hist(by=df['newid'])

【讨论】:

以上是关于如何根据两列将直方图拆分为多个图?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 bin 的 x 值将颜色图应用于绘图直方图?

为 R 中的 facet_wrap 直方图的每个图分配自定义颜色 - ggplot

根据列将大型 csv 文件拆分为多个文件

基于一个查询生成多个类似的报告 - MS Access

如何自动归一化多个直方图以达到相同的最大值?

直方的直方图-直方图(Histogram)