2015-09-18 195 views
1
df1 = DataFrame({'Site Name' : pd.Categorical(list('EENEESENNENNENNWNWSSESSESSWSWVRBWWNWWSW'),categories=['E','ENE','ESE','N','NE','NNE','NNW','NW','S','SE','SSE','SSW','SW','VRB','W','WNW','WSW']), 'B' : numpy.arange(20) }) 

這是我的代碼轉換分類數據,我不斷收到這樣的大熊貓分類數據轉換

錯誤「ValueError異常:數組必須是相同的長度」

請幫我

+1

當你在期待在這裏?你的'網站名稱'欄有39個條目,你的下一欄20,如果你改成'arange(39)',那麼它運行 – EdChum

回答

2

你得到的錯誤,因爲「網站名稱」是一個明確的39項,而你的「B」列有20項,如果你改變了它相匹配的長度(np.arange(39)),那麼它工作正常:

In [5]: 
import pandas as pd 
import numpy as np 
df1 = pd.DataFrame({'Site Name' : pd.Categorical(list('EENEESENNENNENNWNWSSESSESSWSWVRBWWNWWSW'),categories=['E','ENE','ESE','N','NE','NNE','NNW','NW','S','SE','SSE','SSW','SW','VRB','W','WNW','WSW']), 'B' : np.arange(39) }) 
df1 

Out[5]: 
    B Site Name 
0 0   E 
1 1   E 
2 2   N 
3 3   E 
4 4   E 
5 5   S 
6 6   E 
7 7   N 
8 8   N 
9 9   E 
10 10   N 
11 11   N 
12 12   E 
13 13   N 
14 14   N 
15 15   W 
16 16   N 
17 17   W 
18 18   S 
19 19   S 
20 20   E 
21 21   S 
22 22   S 
23 23   E 
24 24   S 
25 25   S 
26 26   W 
27 27   S 
28 28   W 
29 29  NaN 
30 30  NaN 
31 31  NaN 
32 32   W 
33 33   W 
34 34   N 
35 35   W 
36 36   W 
37 37   S 
38 38   W 

數據幀構造函數需要傳遞一個字典作爲數據PARAM所有的值必須是陣列狀的和相同的長度