2016-12-07 84 views
1

我試圖繪製一個熊貓系列('df_plot')中的一列柱狀圖。因爲我想Y軸是一個百分比(而不是數量),所以我使用權重選項來實現這一點。正如您在下面的堆棧跟蹤中發現的,權重數組和數據序列具有相同的形狀。爲什麼我仍然得到錯誤告訴我w和x不一樣?matplotlib hist():重量應該與x的形狀相同,而形狀相同

代碼:

w = 100*(np.zeros_like(df_plot[var]) + 1./len(df_plot[var])) 
print w.shape 
print df_plot[var].shape 
df_plot[var].hist(bins=100, cumulative=True, weights=w) 

堆棧跟蹤:

(9066,) 
(9066,) 

 
Traceback (most recent call last): 

    File "<ipython-input-59-5612307b159e>", line 4, in <module> 
    df_plot[var].hist(bins=100, cumulative=True, weights=w) 

    File "C:\Anaconda\lib\site-packages\pandas\tools\plotting.py", line 2819, in hist_series 
    ax.hist(values, bins=bins, **kwds) 

    File "C:\Anaconda\lib\site-packages\matplotlib\axes\_axes.py", line 5649, in hist 
    'weights should have the same shape as x') 

ValueError: weights should have the same shape as x 

回答

1

你在你的數據集的空值。

s = df_plot[var].dropna() 
w = 100*(np.zeros_like(s) + 1./len(s)) 
s.hist(bins=100, cumulative=True, weights=w) 
+0

確實有1個空值。我想他們是從數據中刪除hist函數? – marqram

+0

是的,這是正確的 – piRSquared

相關問題