Converti il dizionario Python in Pandas DataFrame
-
Metodo per convertire il
dizionarioin PandasDataFame -
Metodo per convertire le
chiaviper essere lecolumnse ivaloriper essere larowValori in PandasDataFrame -
Metodo
pandas.DataFrame().from_dict()per convertiredictinDataFrame
Introdurremo il metodo per convertire il Python dizionario in Pandas datafarme, e opzioni come avere keys come columns e values come valori row. Potremmo anche convertire il dizionario annidato in DataFrame.
Introdurremo anche un altro approccio usando pandas.DataFrame.from_dict, e lo concateneremo con qualsiasi metodo rename per impostare sia l’indice che i nomi delle colonne in una volta sola.
Metodo per convertire il dizionario in Pandas DataFame
Il costruttore DataFrame di Pandas pd.DataFrame() converte il dizionario in DataFrame se gli item del dizionario sono dati come argomento del costruttore, ma non il dizionario stesso.
# python 3.x
import pandas as pd
fruit_dict = {3: "apple", 2: "banana", 6: "mango", 4: "apricot", 1: "kiwi", 8: "orange"}
print(pd.DataFrame(list(fruit_dict.items()), columns=["Quantity", "FruitName"]))
Le chiavi e i valori del dizionario vengono convertiti in due colonne del DataFrame con i nomi delle colonne dati nelle opzioni columns.
Quantity FruitName
0 3 apple
1 2 banana
2 6 mango
3 4 apricot
4 1 kiwi
5 8 orange
Metodo per convertire le chiavi per essere le columns e i valori per essere la row Valori in Pandas DataFrame
Possiamo semplicemente mettere parentesi attorno al dizionario e rimuovere il nome della colonna dal codice sopra in questo modo:
import pandas as pd
fruit_dict = {1: "apple", 2: "banana", 3: "mango", 4: "apricot", 5: "kiwi", 6: "orange"}
print(pd.DataFrame([fruit_dict]))
Produzione:
1 2 3 4 5 6
0 apple banana mango apricot kiwi orange
Useremo i pandas comprensione del dizionario con concat per combinare tutti i dizionari e poi passare l’lista per dare nuovi nomi di colonna.
Considera il codice seguente,
import pandas as pd
data = {"1": {"apple": 11, "banana": 18}, "2": {"apple": 16, "banana": 12}}
df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index()
df.columns = ["dict_index", "name", "quantity"]
print(df)
Produzione:
dict_index name quantity
0 1 apple 11
1 1 banana 18
2 2 apple 16
3 2 banana 12
Metodo pandas.DataFrame().from_dict() per convertire dict in DataFrame
Useremo from_dict per convertire dict in DataFrame, qui impostiamo orient='index' per usare le chiavi del dizionario come righe e applicare il metodo rename() per cambiare il nome della colonna.
Considera il codice seguente,
import pandas as pd
print(
pd.DataFrame.from_dict(
{"apple": 3, "banana": 5, "mango": 7, "apricot": 1, "kiwi": 8, "orange": 3},
orient="index",
).rename(columns={0: "Qunatity"})
)
Produzione:
Quantity
apple 3
banana 5
mango 7
apricot 1
kiwi 8
orange 3
Articolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum