2015-09-18 237 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所有的值必须是阵列状的和相同的长度