Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分类数据转换_Python_Numpy_Pandas - Fatal编程技术网

Python 分类数据转换

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

这是我转换分类数据的代码,我经常遇到这样的错误

ValueError:数组的长度必须相同


请帮助我解决此错误,因为“站点名称”是一个有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