2017-07-23 27 views
0

绘制正确使用matplotlib库分类数据这里是我的3项分配的数据分析任务:不能在python

  • 显示投诉类型和城市一起。
  • 绘制计数与投诉类型的条形图。
  • 显示主要投诉类型及其数量。

这里是我的代码:

import pandas as pd 
import numpy as np 

work_on = data[['Complaint Type','City']] 

import matplotlib.pyplot as plt 
from matplotlib import style 
%matplotlib inline 

koten = work_on['Complaint Type'].value_counts().head(10).plot(kind='bar') 
koten 

- bar graph that was obtained - 它显示一个柱状图,但是当我使用下面的代码:

style.use('ggplot') 
plt.plot(work_on['Complaint Type'].value_counts().head(10)) 
plt.xlabel('Values') 
plt.ylabel('Names') 
plt.title('first') 
plt.show() 

- 这将引发一个错误: ValueError:无法将字符串转换为浮点数:'Traffic Signal Condition'

我的问题是:我使用.plot(kind =)方法,它只适用于kind ='bar',它显示我共享的图形,但是当我使用matplotlib方法时,它开始给我提供以下错误:ValueError:could不将字符串转换为浮动:“交通信号条件”。有没有其他好的方法在Python中显示这样的非数值数据?

这里是我的数据的一瞥: Two columns to be worked on

+0

'plt.plot'绘制数值数据。您的数据不是数字。你期望得到的情节看起来像什么? – ImportanceOfBeingErnest

+0

如果我有10种类型的独特名称在我的数据中说A,B,C,D,E,F,G,H,I,J我想要显示A - 10次数据,B - 20次数据...总之频率 –

回答

0

这不是从什么期望情节应该实际上可以显示的问题清楚。如果它是不同类别的线条图,则需要将类别的指示提供给plt.plot函数。

import numpy as np 
import matplotlib.pyplot as plt 
import pandas as pd 

df = pd.DataFrame([]) 
df["ComplaintType"] = np.random.choice(list("ABCDEFGHIJ"), size=50) 

counts = df["ComplaintType"].value_counts() 
plt.plot(range(len(counts)), counts) 
plt.xticks(range(len(counts)), counts.index) 
plt.show() 

enter image description here

这是它使多远意义不同类别由线连接,虽然有点怀疑。

+0

plt.xticks(范围(len(counts)),counts.index)在这里做什么? –

+0

离开它,你会看到不同之处。它命名xaxis上的刻度以读取你的类别名称。 – ImportanceOfBeingErnest

+0

你能看看我分享的条形图吗?这是所需的图形类型。既然你说过“plt.plot绘制数值数据”,我可以用什么方法显示我共享的数据? –