如何根据两列将直方图拆分为多个图?
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'])
【讨论】:
以上是关于如何根据两列将直方图拆分为多个图?的主要内容,如果未能解决你的问题,请参考以下文章