Così ho inizializzato un DataFrame panda vuoto e vorrei aggiungere iterativamente liste (o serie) come file in questo DataFrame. Qual è il modo migliore per fare questo?Aggiungendo un elenco o una serie a un DataFrame panda come una riga?
risposta
Potresti fare qualcosa del genere?
>>> import pandas as pd
>>> df = pd.DataFrame(columns=['col1', 'col2'])
>>> df = df.append(pd.Series(['a', 'b'], index=['col1','col2']), ignore_index=True)
>>> df = df.append(pd.Series(['d', 'e'], index=['col1','col2']), ignore_index=True)
>>> df
col1 col2
0 a b
1 d e
Qualcuno ha una soluzione più elegante?
Ecco una soluzione più semplice e muto: '' ' import panda come pd df = pd.DataFrame() df = df.append ({'foo': 1, 'bar': 2}, ignore_index = True) # Nota che questo accodamento non si verifica in posto. '' ' –
Ecco una soluzione semplice e muto:
>>> import pandas as pd
>>> df = pd.DataFrame()
>>> df = df.append({'foo':1, 'bar':2}, ignore_index=True)
Cosa c'è di stupido a riguardo? :) – Nabin
Si noti che questo è l'aggiunta di un dict, non di un elenco – anthnyprschka
A volte è più facile da fare tutto l'apposizione di fuori di panda, poi, basta creare il dataframe in un solo colpo.
>>> import pandas as pd
>>> list=[['a','b']]
>>> list.append(['e','f'])
>>> df=pd.DataFrame(list,columns=['col1','col2'])
col1 col2
0 a b
1 e f
molto elegante, grazie –
seguito sulla risposta di Mike Chirico ... se si desidera aggiungere un elenco dopo il dataframe è già popolato ...
>>> list = [['f','g']]
>>> df = df.append(pd.DataFrame(list, columns=['col1','col2']),ignore_index=True)
>>> df
col1 col2
0 a b
1 d e
2 f g
Se si desidera aggiungere una Serie e utilizzare il Index Series' come colonne del dataframe, avete solo bisogno di aggiungere il serie tra parentesi:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame()
In [3]: row=pd.Series([1,2,3],["A","B","C"])
In [4]: row
Out[4]:
A 1
B 2
C 3
dtype: int64
In [5]: df.append([row],ignore_index=True)
Out[5]:
A B C
0 1 2 3
[1 rows x 3 columns]
Whitout il ignore_index=True
si d su non ottenere l'indice corretto.
df = pd.DataFrame(columns=list("ABC"))
df.loc[len(df)] = [1,2,3]
- 1. Come aggiungere una riga di intestazione a un panda DataFrame
- 2. aggiunta di una riga a un DataFrame/serie MultiIndex
- 3. Il gruppo panda può trasformare un DataFrame in una serie?
- 4. creando una serie Panda con un punto nel nome
- 5. come convertire un elenco in un dataframe panda
- 6. Matrix Moltiplicazione di una Panda dataframe e Serie
- 7. Come ottenere la prima colonna di un DataFrame panda come una serie?
- 8. pitone, modo migliore per convertire una serie panda in una dataframe panda
- 9. Aggiornamento un dataframe in panda, mentre l'iterazione riga per riga
- 10. panda: normalizzare un DataFrame
- 11. Ottieni righe particolari come serie da dataframe panda
- 12. Creazione di un dataframe in panda moltiplicando due serie insieme
- 13. come fare 1 per n dataframe da serie in panda?
- 14. Come aggiungere un dizionario a un dataframe panda?
- 15. espandendo (aggiungendo una riga o colonna) una matrice scipy.sparse
- 16. È possibile inserire una riga in una posizione arbitraria in un dataframe utilizzando i panda?
- 17. Panda: aggiunta di una riga a un dataframe e specifica l'etichetta dell'indice
- 18. Conversione di un elenco in un dett ad una serie
- 19. Come normalizzare da un'altra riga in un DataFrame panda?
- 20. serie temporali marittime da panda dataframe
- 21. Come rimuovere un dataframe panda da un altro dataframe
- 22. aggiungere righe a un dataframe panda senza fare una nuova copia
- 23. aggiungendo una nuova colonna al dataframe panda con valori per elementi particolari?
- 24. Come ottenere un valore da una cella di un dataframe?
- 25. Sottrarre una colonna da un dataframe panda da un'altra
- 26. Generazione di una coorte di ritenzione da un dataframe panda
- 27. Accelerare una soluzione iLOC all'interno di un dataframe panda
- 28. Calcolo attraversamento (intercetta) punti di una serie o dataframe
- 29. Come esplodere un elenco all'interno di una cella Dataframe in righe separate
- 30. Interpolazione di una serie storica su un altro in panda
risposte migliori si trovano sotto: http://stackoverflow.com/questions/10715965/add-one-row-in-a-pandas-dataframe – yuval