Ho caricato un pacchetto 200.000 x 500 dataframe
in Panda. Esiste una funzione in grado di dirmi automaticamente quali colonne mancano i dati? O devo scorrere su ogni colonna e controllare elemento per elemento?gestione dei dati mancanti in Pandas
Una volta trovato un elemento mancante, come definire una funzione personalizzata (basata sia sul nome della colonna che su altri dati nella stessa riga) per eseguire sostituzioni automatiche. Vedo il metodo fillna(), ma non credo che ci voglia una funzione (lambda) come input.
Grazie!
Grazie! L'ho usato per una competizione di Kaggle; ci è stato fornito un set di dati con valutazioni musicali di utenti diversi e abbiamo dovuto costruire un modello che prevedesse come questi utenti avrebbero votato nuove tracce di artisti diversi. Una delle mie funzioni per il classificatore era quella di valutare la valutazione media attribuita a un determinato artista da quell'utente specifico. Ma se l'utente non aveva mai sentito quell'artista prima, quella voce sarebbe apparsa come un valore mancante in Panda. Quindi in questo caso sostituirò quel valore mancante con il voto medio assegnato a quell'artista (una brutta prima approssimazione, meglio usare l'SVD) – vgoklani
Ah, vedo. Immagino che tu abbia qualcosa come utenti come indice e artista/traccia come MultiIndex di colonne? Dipende dalle dimensioni del tuo DataFrame, ma potenzialmente potresti ripetere la valutazione media in modo che abbia le stesse dimensioni della matrice delle classificazioni e quindi usi la maschera NA per sostituire i valori mancanti? –
chiudi; Ho fatto un read_csv sui dati di allenamento, ma non ho scelto un indice. Ho costruito le caratteristiche usando le operazioni di gruppo dei panda, poi ho applicato la media() al gruppo e infine ho fatto una fusione nel dataframe principale. Alcune funzionalità utilizzano dati da più colonne, quindi ho semplicemente raggruppato le etichette di colonna e quindi unite di nuovo (con più indici). Grazie per cython-izing le unire :) Per i dati mancanti, ho dovuto ricorrere manualmente alla colonna e utilizzare get_value/set_value, non è il modo più efficiente, ma funziona. – vgoklani