熊猫分类数据转换

时间:2015-09-18 13:27:38

标签: python numpy pandas

curl -XPOST 'http://localhost:9200/products/_refresh?pretty'

这是我转换分类数据的代码,我不断收到这样的错误

" ValueError:数组必须全长相同"

请帮帮我

1 个答案:

答案 0 :(得分: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

DataFrame ctor要求在传递dict作为数据参数时,所有值必须是类似数组且长度相同