Converti il dizionario Python in Pandas DataFrame
-
Metodo per convertire il
dizionario
in PandasDataFame
-
Metodo per convertire le
chiavi
per essere lecolumns
e ivalori
per essere larow
Valori in PandasDataFrame
-
Metodo
pandas.DataFrame().from_dict()
per convertiredict
inDataFrame
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