Funzione dataframe applicata più volte a colonne diverse

0

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')
    
posta spicyramen 21.02.2018 - 07:42
fonte

0 risposte

Leggi altre domande sui tag