【问题标题】:Bar plot from dataframe来自数据框的条形图
【发布时间】:2018-07-17 15:24:18
【问题描述】:

我有一个看起来像这样的数据框。

print (df)
   a      b
0  1   5896
1  1   4000
2  1  89647
3  2     54
4  2   3568
5  2  48761
6  3   5896
7  3   2800
8  3   5894

我想制作一个条形图。看起来像这样。

我尝试使用groupby.(),但它只打印一个值 1 一个值 2 等等......

a = df_result.groupby(['column1'])['column2'].mean()
a.plot.bar()
plt.show()

希望得到一些解决问题的指导,因此我会将所有值都显示在图表中。

【问题讨论】:

  • 对不起,数据是机密的,我不知道怎么手写。但是当我打印 df 时,我会得到这种格式的数据。
  • 零认为无法复制样本数据,查看this
  • 哦,你是这个意思。很抱歉给您带来不便,我会记住的

标签: python pandas plot


【解决方案1】:

我认为首先需要cumcountset_indexunstack 来重塑数据:

a = df.set_index(['a',df.groupby('a').cumcount()])['b'].unstack()
print (a)
      0     1      2
a                   
1  5896  4000  89647
2    54  3568  48761
3  5896  2800   5894

a.plot.bar()

【讨论】:

  • 是的,完全正确。也改进了你的问题;)
  • 谢谢!我想这是你现在第二次帮助我了。真的很感激。从来没有听说过cumcount。将阅读有关它的更多信息。
  • 显然我有这么多数据,那些条不是条,它们只是直线,而且都是一团糟。无论如何,我可以将图像调整到足够大,以便很好地呈现条形?
  • 你可以使用a.plot.bar(figsize=(20,10))
  • 还是一样。显然我将不得不使我的数据更小。再次感谢您!
猜你喜欢
  • 2017-03-11
  • 2018-04-13
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 2021-10-31
  • 1970-01-01
  • 2017-07-20
  • 1970-01-01
相关资源
最近更新 更多