Attualmente estraggo un frame di dati da CSV e creo variabili fittizie per colonne categoriali. Questo sembra funzionare bene, ma alla ricerca di un modo per migliorare la leggibilità del codice. Ho pensato di avere un set con il nome delle colonne e iterare. Non sono sicuro se sia il modo più efficace per farlo con i panda.
for column in ['ruri_user', ... , 'contact_ip']:
dataset = encode_one_hot(dataset, column)
Codice esistente:
def encode_one_hot(df, column, axis=1):
return df.join(pd.get_dummies(df[column], column)).drop(column, axis=axis)
def preproc(self):
"""Process Pipeline"""
# Import Data & Drop irrevelant features
dataset = self.import_data()
# Fix NA values.
dataset = self.fix_na(dataset)
# Create dummies.
dataset = encode_one_hot(dataset, 'ruri_user')
dataset = encode_one_hot(dataset, 'from_user')
dataset = encode_one_hot(dataset, 'from_domain')
dataset = encode_one_hot(dataset, 'to_user')
dataset = encode_one_hot(dataset, 'contact_user')
dataset = encode_one_hot(dataset, 'user_agent')
dataset = encode_one_hot(dataset, 'source_ip')
dataset = encode_one_hot(dataset, 'contact_ip')