Python 分类数据转换
这是我转换分类数据的代码,我经常遇到这样的错误 ValueError:数组的长度必须相同Python 分类数据转换,python,numpy,pandas,Python,Numpy,Pandas,这是我转换分类数据的代码,我经常遇到这样的错误 ValueError:数组的长度必须相同 请帮助我解决此错误,因为“站点名称”是一个有39个条目的分类,而“B”列有20个条目,如果您将其更改为与长度np.Arange39匹配,则其工作正常: df1 = DataFrame({'Site Name' : pd.Categorical(list('EENEESENNENNENNWNWSSESSESSWSWVRBWWNWWSW'),categories=['E','ENE','ESE','N','NE
请帮助我解决此错误,因为“站点名称”是一个有39个条目的分类,而“B”列有20个条目,如果您将其更改为与长度np.Arange39匹配,则其工作正常:
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) })
DataFrame ctor要求在将dict作为数据参数传递时,所有值必须类似于数组且长度相同您在这里期望什么?您的“站点名称”列有39个条目,下一列有20个条目,如果您更改为arange39,它将运行
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