Python 3.x 如何绘制特定的数据帧
我想画一张图表Python 3.x 如何绘制特定的数据帧,python-3.x,pandas,matplotlib,seaborn,Python 3.x,Pandas,Matplotlib,Seaborn,我想画一张图表 sex ch r p 'm' 10 18 17 'm' 9 6 6 我试过联合绘图和条形绘图,但我不知道如何绘图 sns.jointplot(x=df.index,y=np.sum(df)) 所以我在x轴数据框和y轴列和数据框上使用了我的代码,得到了错误: 操作数无法与形状(2,)(36,)一起广播 我想绘制一个图形,其中x轴上的所有列都是用于绘制的,并且 y轴列的总和表示ch y轴为19,r轴为24,p轴为23 我尝试使用连接图,但语法似乎错误 jointplot(x
sex ch r p
'm' 10 18 17
'm' 9 6 6
我试过联合绘图和条形绘图,但我不知道如何绘图
sns.jointplot(x=df.index,y=np.sum(df))
所以我在x轴数据框和y轴列和数据框上使用了我的代码,得到了错误:
操作数无法与形状(2,)(36,)一起广播
我想绘制一个图形,其中x轴上的所有列都是用于绘制的,并且
y轴列的总和表示ch y轴为19,r轴为24,p轴为23
我尝试使用连接图,但语法似乎错误
jointplot(x=df.index,y=np.sum(df))
我希望输出是
在x轴上
应该有ch、r、p列
在y轴上,我得到了一个显示错误的空图表,总共有几列:
操作数无法与形状一起广播
我认为您需要聚合
sum
并通过unstack
进行重塑,因此可以使用:
另一个解决方案是:
df = df.groupby('sex').sum().unstack().reset_index()
df.columns = ['cat','sex','val']
print (df)
cat sex val
0 ch m 19
1 r m 24
2 p m 23
sns.catplot(x='sex', y='val', hue='cat', data=df, kind='bar')
df.groupby('sex').sum().plot.bar()