Domanda

Supponiamo che io sono un dataframe come questo:

Hospital_name    State    Employees    ......
Fortis           Delhi    5000         ......
AIIMS            Delhi    1000000      ......
SuperSpeciality  Chennai  1000         ......

Ora voglio usare questa dataframe per costruire un modello di apprendimento automatico per l'analisi predittiva. Per che devo convertire le stringhe di valori float. Anche alcune di queste colonne in Hospital_name e Stato contiene i valori 'NAN'. In tal caso una come dovrei preparare i miei dati per la costruzione di un modello in keras?

È stato utile?

Soluzione

Per convertire da stringa a galleggiare in panda (supponendo che si desidera convertire dipendenti ed è stato caricato il dataframe con df), è possibile utilizzare

df['Employees'].apply(lambda x:float(x))

Non hai dato le informazioni sufficienti sulla tua ingresso e di uscita previsto. Quindi supponiamo che nome dell'ospedale o qualsiasi cosa per quella materia, che è l'ingresso per il vostro modello è nan, si desidera rimuovere dal set di dati, perché l'estrazione di caratteristiche da 'nan' non avrebbe senso. A parte che se sono solo altre funzioni periferiche, allora potrebbe essere a posto. In tal caso, se si desidera convertirli in vuoto quindi l'uso df.replace(np.nan,' ', regex=True). Altrimenti, se si desidera rimuovere quel fotogramma, è possibile verificare la presenza di nan utilizzando questo .

Altri suggerimenti

Il modo migliore per trattare con i tipi è di specificare quando l'ingestione del file:

pandas.read_csv(file_name, dtype={"Employees": float})

Che cosa si fa con i dati mancanti in Keras dipende da voi. Qual è il tuo piano?

Un modo più diretto di conversione Employees a float.

df.Employees = df.Employees.astype(float)

Non ha specificato ciò che si voleva fare con Nan, ma li si può sostituire con un valore diverso (int o stringa) utilizzando:

df = df.fillna(value_to_fill)

Se si desidera eliminare righe con NaN in esso: df = df.dropna ()

Non capisco il motivo per cui si dovrebbe mappare mappare le stringhe di carri ... Io suggerirei di usare una codifica a caldo per categorizzare le corde con un valore booleano 1 o 0.

In Pandas questo sarebbe

import pandas as pd
s = pd.Series(list('abca'))
pd.get_dummies(s)

   a  b  c
0  1  0  0
1  0  1  0
2  0  0  1
3  1  0  0

È anche possibile aggiungere pd.get_dummies(l, dummy_na=True) a che fare con i valori NaN.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top