I Python brukes en datastruktur som kalles en ordbok for å lagre informasjon som nøkkelverdipar. Ordbokobjekter er optimalisert for å trekke ut data/verdier når nøkkelen eller nøklene er kjent. For effektivt å finne verdier ved hjelp av den relaterte indeksen, kan vi konvertere en Pandas-serie eller DataFrame med en relevant indeks til et ordboksobjekt med “Index: Value” nøkkelverdipar. For å oppnå denne oppgaven, kan metoden “to_dict ()” brukes. Denne funksjonen er en innebygd funksjon som finnes i Pandas-modulens serieklasse.
En DataFrame blir konvertert til en Python-liste-lignende Data Dictionary of Series ved bruk av Pandas.to_dict () metode avhengig av den angitte verdien av orientens parameter.”
Vi vil bruke TO_DICT () -metoden i pandaer. Vi kan orientere den returnerte ordbokens nøkkelverdipar på en rekke måter ved å bruke TO_DICT () -funksjonen. Funksjonens syntaks er som følger:
Syntaks:
Pandas.DataFrame_Object.to_dict (orient = “dict”, inn i =)
Parametere:
Returtype:
Ordbok om konvertert fra en dataframme eller serie.
Data:
I alle eksemplene vil vi bruke følgende DataFrame som heter "Merknader" som inneholder 2 rader og 4 kolonner. Her er kolonneetikettene - ['Id', 'Navn', 'Status', 'Fee'].
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Vis DataFrame - Merknader
trykk (kommentarer)
Produksjon:
ID -navn Statusavgift
0 23 Sravan pass 1000
1 21 Sravan Fail 400
Eksempel 1: to_dict () uten parametere
Vi vil konvertere merknadene DataFrame til en ordbok uten å sende noen parametere til TO_DICT () -metoden.
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Konverter til ordbok
trykk (kommentarer.to_dict ())
Produksjon:
'id': 0: 23, 1: 21, 'Navn': 0: 'Sravan', 1: 'Sravan', 'Status': 0: 'pass', 1: 'Fail' , 'Fee': 0: 1000, 1: 400
Forklaring
Dataframe blir konvertert til en ordbok.
Her ble kolonnene i den originale DataFrame konvertert som nøkler i en ordbok, og hver kolonne vil lagre to verdier igjen i et ordbokformat. Tastene for disse verdiene starter fra 0.
Eksempel 2: to_dict () med 'serie'
Vi vil konvertere merknadene DataFrame til en ordbok i serieformat ved å sende 'serien' -parameteren til TO_DICT () -metoden.
Format:
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Konvertere til ordbok med serie av verdier
trykk (kommentarer.to_dict ('serie'))
Produksjon:
'id': 0 23
1 21
Navn: ID, DType: Int64, 'Navn': 0 Sravan
1 Sravan
Navn: Navn, DType: Objekt, 'Status': 0 Pass
1 mislykkes
Navn: Status, DType: Objekt, 'Fee': 0 1000
1 400
Navn: avgift, dype: int64
Forklaring
DataFrame er konvertert til en ordbok med "serie" -format.
Her ble kolonnene i den originale DataFrame konvertert som nøkler i en ordbok, og hver kolonne vil lagre rader sammen med datatypen på kolonnen. Datatypen av 'ID' -kolonnen er int64 og andre to kolonner er 'objekt'.
Eksempel 3: to_dict () med 'delt'
Hvis du vil skille radetiketter, kolonnetiketter og verdier i den konverterte ordboken, kan du bruke 'Split' -parameteren. Her vil 'indeks' -tasten lagre en liste over indeksetiketter. Kolonner '-tasten vil inneholde en liste over kolonnenavn og data er en nestet liste som lagrer hver radverdier i en liste atskilt med komma.
Format:
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Konverter til ordbok uten indeks og overskrift
trykk (kommentarer.to_dict ('split'))
Produksjon:
'indeks': [0, 1], 'kolonner': ['id', 'Navn', 'Status', 'Fee'], 'Data': [[23, 'Sravan', 'Pass', 1000 ], [21, 'Sravan', 'Fail', 400]]
Forklaring
Vi kan se at to indekser ble lagret i en liste som en verdi for nøkkelen - 'indeks'. Tilsvarende lagres også kolonnenavn i en liste som en verdi for nøkkelen - 'kolonner', og hver rad lagres som en liste i en nestet liste til 'Data'.
Eksempel 4: to_dict () med 'post'
Hvis du konverterer DataFrame til en ordbok med hver rad som ordbok i en liste, kan du bruke postparameteren i TO_DICT () -metoden. Her er hver rad plassert i en ordbok slik at nøkkelen vil være kolonnenavnet og verdien er den faktiske verdien i Pandas DataFrame. Alle rader ble lagret i en liste.
Format:
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Konverter til ordbok etter post
trykk (kommentarer.to_dict ('post'))
Produksjon:
['id': 23, 'navn': 'sravan', 'status': 'pass', 'gebyr': 1000, 'id': 21, 'navn': 'sravan', 'status': 'Fail', 'Fee': 400]
Eksempel 5: to_dict () med 'indeks'
Her er hver rad plassert i en ordbok som en verdi for nøkkelen starter fra 0. Alle rader ble lagret igjen i en ordbok.
Format:
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Konvertere til ordbok med indeks
trykk (kommentarer.to_dict ('indeks'))
Produksjon:
[0: 'id': 23, 'navn': 'sravan', 'status': 'pass', 'gebyr': 1000, 1: 'id': 21, 'name': 'sravan' , 'Status': 'Fail', 'Fee': 400
Eksempel 6: OrderedDict ()
La oss bruke 'inn i' parameter som vil ta Bestillingsdikt, som konverterer Pandas dataaframe til en bestilt ordbok.
Importer pandaer
Fra samlinger import *
# Opprett DataFrame ved hjelp av lister
Merknader = Pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], kolonner = ['id', 'navn', 'status', 'gebyr'])
# Konverter til bestillingsdikt
trykk (kommentarer.TO_DICT (Into = ordereddict))
Produksjon:
OrderedDict ([('Id', OrderedDict ([(0, 23), (1, 21)])), ('Navn', OrderedDict ([(0, 'Sravan'), (1, 'Sravan')] )), ('Status', OrderedDict ([(0, 'pass'), (1, 'Fail')])), ('Fee', OrderedDict ([(0, 1000), (1, 400)] )))
Konklusjon
Vi har diskutert hvordan vi kan konvertere DataFrame- eller Pandas -objektene til en Python -ordbok. Vi har sett syntaks for TO_DICT () -funksjonen for å forstå parametrene til denne funksjonen og hvordan du kan endre funksjonens utgang ved å spesifisere funksjonen med forskjellige parametere. I eksemplene på denne opplæringen har vi brukt til_dict () -metoden, en innebygd Pandas -funksjon, for å endre Pandas -objektene til Python Dictionary.