データを扱うときに、しばしばデータ型を変更する必要があります。例えば、リストの内包表記を使用して - たとえば列のリストを別のデータ型に変更するためのもっとpythonic(またはpandorable)な方法
In [11]: import pandas as pd
In [12]: import numpy as np
In [13]: df = pd.DataFrame({'col2': {0: 'apples', 1: 'oranges', 2: 'rabbit'}, 'col1': {0: 'white', 1: 'marshmallow', 2: 'bandwagon'}}
)
In [14]: df.dtypes
Out[14]:
col1 object
col2 object
dtype: object
In [15]: for col in cols:
df[col] = df[col].astype('category')
....:
In [16]: df.dtypes
Out[16]:
col1 category
col2 category
dtype: object
については
はこれを行うにはより多くのパンダ優しい方法はありますか?私はforループが遅いと感じます...
これは私がしなければならない本当に一般的なことです。私が気づいていないイディオムがあるかどうかは不思議です。
残念ながら 'df.astype( 'カテゴリ')'は動作しません。私は、リストの理解や 'df.apply(lambda x:x.astype( 'ca tegory ')) '、リストの理解はおそらくここで最も速いと思う – EdChum
これを行うにはリストの理解をどのように書きますか? –
'pd.concat(df [col] dstのcolのためのdt [col] .astype( 'category')、axis = 1)'これははるかに高速であれば大規模なデータセットを試してみないとわかりません – EdChum