创建分组条p的函数

2024-05-13 19:51:19 发布

您现在位置:Python中文网/ 问答频道 /正文

此处的目标是创建分组条形图,而不是像下面的图像那样的子块

有没有一种简单的方法在Python中创建分组条形图?现在我得到了单独的条形图,而不是一个图上的单独条形图。

df = pd.DataFrame([['g1','c1',10],['g1','c2',12],['g1','c3',13],['g2','c1',8],['g2','c2',10],['g2','c3',12]],columns=['group','column','val'])

%matplotlib inline
df.groupby(['group']).plot(kind='bar')

enter image description here


Tags: columns方法图像目标dataframedfgrouppd
1条回答
网友
1楼 · 发布于 2024-05-13 19:51:19

熊猫将按列显示分组的条形图。每行但不同列中的条目将在结果图中构成一个组。因此,需要“重塑”数据帧,使“组”成为列。 在这种情况下,您可以像

df.pivot("column", "group", "val")

生产

group   g1  g2
column        
c1      10   8
c2      12  10
c3      13  12

绘制此图将生成分组条形图。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame([['g1','c1',10],['g1','c2',12],['g1','c3',13],['g2','c1',8],
                   ['g2','c2',10],['g2','c3',12]],columns=['group','column','val'])

df.pivot("column", "group", "val").plot(kind='bar')

plt.show()

enter image description here

相关问题 更多 >