1

私は CSV を読んでいますが、列の 1 つを独自の順序でカテゴリカルにしたいと考えています。それ、どうやったら出来るの?3 つのラベルは、「読み取り」、「書き込み」、および「混合」です。機能しないものを次に示します。

Categorical(my_csv.rw, ['read', 'write', 'mixed'])
    ValueError: invalid literal for long() with base 10: 'mixed'

Categorical(my_csv.rw, Index(['read', 'write', 'mixed']))
    ValueError: invalid literal for long() with base 10: 'mixed'

Categorical(['read', 'mixed', 'write'], Index(['read', 'write', 'mixed']))
    ValueError: invalid literal for long() with base 10: 'mixed'

Categorical.from_array(['read', 'mixed', 'write']) # Levels in wrong order

それで、どうすればいいですか?

4

2 に答える 2

0

レベルはラベル順に並べられていると思います:

In [38]: a.levels
Out[38]: Index([mixed, read, write], dtype=object)

In [39]: a.labels
Out[39]: array([1, 0, 2])
于 2012-10-03T00:30:35.677 に答える
0

Categorical は、整数の配列とレベルの配列を想定しています。

In [14]: Categorical([0, 1, 2], Index(['read', 'write', 'mixed']))
Out[14]: 
Categorical: 
array([read, write, mixed], dtype=object)
Levels (3): Index([read, write, mixed], dtype=object)

多くのエラーチェックを行うとは思いませんが (通常、エラーチェックは他の関数によって作成されるため)、これは変更される可能性があります。

于 2012-10-23T21:17:53.910 に答える