2017-07-23 61 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繪製數值數據」,我可以用什麼方法顯示我共享的數據? –