Ho una colonna in un DataFrame panda che vorrei suddividere su un unico spazio. La suddivisione è abbastanza semplice con DataFrame.str.split(' ')
, ma non riesco a creare una nuova colonna dall'ultima voce. Quando I .str.split()
la colonna ottengo un elenco di matrici e non so come manipolare questo per ottenere una nuova colonna per il mio DataFrame.Ottieni l'ultima "colonna" dopo l'operazione .str.split() sulla colonna in pda DataFrame
Ecco un esempio. Ogni voce nella colonna contiene 'prezzo dei dati simbolo' e vorrei dividere il prezzo (e alla fine rimuovere la "p" ... o "c" nella metà dei casi).
import pandas as pd
temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 p600', 'spx 5/25/2001 p700']})
temp2 = temp.ticker.str.split(' ')
che produce
0 ['spx', '5/25/2001', 'p500']
1 ['spx', '5/25/2001', 'p600']
2 ['spx', '5/25/2001', 'p700']
Ma temp2[0]
solo dà matrice propria voce dell'elenco e temp2[:][-1]
fallisce. Come posso convertire l'ultima voce di ciascun array in una nuova colonna? Grazie!
Questo mi ha aiutato ad aggiungere un file di registro in panda che era troppo spaventoso e disordinato per persino toccare prima (una singola colonna di dati con molte informazioni per riga). – trench
Tutti questi approcci hanno prestazioni disastrose rispetto alla risposta di Wes McKinney. –
@JohnZwinck: wow, un downvote correlato solo alla prestazione su una risposta di cinque anni sulla funzionalità che era stata introdotta solo circa [due mesi prima] (https://github.com/pandas-dev/pandas/issues/1656)? Questo è .. rigoroso, te lo darò! – DSM