web-dev-qa-db-ja.com

パンダのread_csvでカテゴリー列を読み取ることはできますか?

read_csvdtype={n: pandas.Categorical}としてdtypeパラメータを渡してみましたが、これは正しく機能しません(結果はオブジェクトです)。 マニュアルは不明確

34
Emre

バージョン 0.19.0dtype='category'でパラメータread_csvを使用できます:

data = 'col1,col2,col3\na,b,1\na,b,2\nc,d,3'
df = pd.read_csv(pd.compat.StringIO(data), dtype='category')
print (df)
  col1 col2 col3
0    a    b    1
1    a    b    2
2    c    d    3

print (df.dtypes)
col1    category
col2    category
col3    category
dtype: object

カテゴリの列を指定する場合は、辞書でdtypeを使用します。

df = pd.read_csv(pd.compat.StringIO(data), dtype={'col1':'category'})
print (df)
  col1 col2  col3
0    a    b     1
1    a    b     2
2    c    d     3

print (df.dtypes)
col1    category
col2      object
col3       int64
dtype: object
40
jezrael

カテゴリーは有効ではありません dtype

この StackOverflow post には、カテゴリデータをテキストファイルに保存する方法の詳細が含まれています。

3
Alexander