【问题标题】:Plotting dataframe columns on x-axis在 x 轴上绘制数据框列
【发布时间】:2018-12-08 04:16:43
【问题描述】:

我有一个数据框,其中列中的职位描述和行中的值。

示例数据框结构:

           Data Scientist   Senior Data Scientist   Data Engineer
index                   
level_1      94.366197           87.755102          93.650794       
level_2      93.239437           96.938776          95.23809
level_3      38.028169           56.122449          6.349209

数据框信息:

<class 'pandas.core.frame.DataFrame'>
Index: 6 entries, index to Research Analyst
Data columns (total 3 columns):
0    6 non-null object
1    6 non-null object
2    6 non-null object
dtypes: object(3)

我正在尝试通过在 x 轴上显示职位描述来在 python 上复制一个 excel 输出,并创建一个条形图,我可以在其中查看每个职位描述的每个级别的数量。像这样的:

到目前为止我没有工作:

import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot')

degree_table.plot(x=['Data Scientist','Senior Data Scientist', etc.],
                  y=degree_table.index,
                  kind='bar')

【问题讨论】:

  • 您能否分享数据框的示例原始数据以及您得到的错误输出是什么?
  • 我收到一条错误消息,指出 x 必须是标签或位置。如何在 * 上共享示例原始数据?
  • 我希望在你的问题中,'x=['Data Scientist','Senior Data Scientist', etc.]' the ', etc.'部分只是为了向我们展示还有其他列?你试过单列吗?
  • 单列无效。给出的答案有效,感谢您的支持!

标签: python dataframe data-visualization visualization


【解决方案1】:

degree_table.T.plot(kind= 'bar')

那里的“T”,表示转置矩阵

简单,试试这个。

【讨论】:

  • 我收到错误:TypeError: Empty 'DataFrame': no numeric data to plot
  • 在数据框信息中,我看到值的类型为 object ,您必须将它们设为 float 类型。 df.astype(float).T.plot(kind = 'bar')