0

だから私はたくさんのeatureを持つデータフレームを持っています。そのうちのいくつかはダミー変数にしたいのですが、そのうちのいくつかはそのままにしておきたいのですが、単に入力するのではなく、これを行うための遅延/高速な方法を作成したかったのです。

dum_A = pd.get_dummies(df['A'],prefix='A')
dum_B = pd.get_dummies(df['B'],prefix='B')
...
dum_N = pd.get_dummies(df['N'],prefix='N')

これが私が思いついた以下のコードです。

List_of_dummy_names = []
List_of_dummy_col = []

for col in list(df1.columns.values):
     if len(df1[col].value_counts()) <= 7:
        List_of_dummy_names.append('dum_'+col)
        List_of_dummy_col.append(col)

for (dummy, col) in zip(List_of_dummy_names, List_of_dummy_col):
    dummy = pd.get_dummies(df1[col], prefix=col)

ただし、これは、リスト内の n 番目の機能のダミー データフレームである変数 dummy のみを返します。ここで何が間違っていますか?ループごとにリストから新しい名前を取得すると思っていましたが、代わりに、変数ダミーに毎回新しいダミー DF を割り当てているように見えます。

よろしくお願いします。

4

1 に答える 1

1
for col in list(df.columns.values):
     if len(df[col].value_counts()) <= 7:
            df= pd.concat([df,pd.get_dummies(df[col],prefix=col)],axis=0)
            df[col].fillna(0,inplace=True)
        `
于 2016-01-19T10:54:59.363 に答える