Pandos į žodyną

Pandos I Zodyna



„Python“ duomenų struktūra, vadinama žodynu, naudojama informacijai saugoti kaip raktų ir reikšmių poroms. Žodyno objektai yra optimizuoti, kad būtų galima išskirti duomenis / reikšmes, kai raktas ar raktai yra žinomi. Atminkite, kad žodynuose gali būti pasikartojančių raktų. Norėdami efektyviai rasti reikšmes naudodami susijusį indeksą, pandų seriją arba duomenų rėmelį su atitinkamu indeksu galime konvertuoti į žodyno objektą su „index: value“ raktų ir reikšmių poromis. Norint atlikti šią užduotį, galima naudoti „to_dict()“ metodą. Ši funkcija yra įtaisyta funkcija, randama pandų modulio serijos klasėje. Duomenų rėmelis konvertuojamas į python sąrašą panašų duomenų serijų žodyną naudojant pandas.to_dict() metodą, atsižvelgiant į nurodytą orientavimo parametro reikšmę.

Kaip paversti pandas į Python žodyną?

Yra keletas būdų, kaip paversti pandas į žodyną. Tačiau norėdami Pandas duomenų rėmelį paversti Python žodynu, Pandas naudosime metodą to_dict(). Naudodami funkciją to_dict() galime įvairiais būdais orientuoti grąžintas žodyno raktų ir verčių poras. Funkcijos sintaksė yra tokia:







Sintaksė



pandos.to_diktuoti ( rytai = 'diktas', į = )



Parametrai

orientuotis: Į kurį duomenų tipą konvertuoti stulpelius (serija), nurodo eilutės reikšmė („diktas“, „sąrašas“, „įrašai“, „indeksas“, „serija“, „skilimas“). Pavyzdžiui, raktinis žodis „sąrašas“ suteiktų „python“ sąrašo objektų žodyną su raktais „Stulpelio pavadinimas“ ir „Sąrašas“ (konvertuota serija).





į: klasė, gali būti perduodama kaip pavyzdys arba faktinė klasė. Pavyzdžiui, klasės egzempliorius gali būti perduodamas numatytojo dikto atveju. Numatytoji parametro reikšmė yra diktatas.

Grąžinimo tipas: Žodynas, konvertuotas iš duomenų rėmelio arba serijos.



Pavyzdys # 01: Pandos duomenų rėmelio konvertavimas į žodyną

Naudodami funkcijos pd.DataFrame() sąrašų eilutę, sukursime pagrindinį duomenų rėmelį su kai kuriais stulpeliais ir eilutėmis, kad vėliau galėtume jį konvertuoti į Python žodyną.


Sukūrėme duomenų rėmelį, perduodami sąrašą funkcijos pd.DataFrame() viduje. Aukščiau pateiktame duomenų rėmelyje turime tris stulpelius „įmonė“, „pardavimas“ ir „pajamos“. Skiltyje įmonė išsaugojome atsitiktinių įmonių pavadinimus kaip („A&B“, „Max_tech“, „XT“, „MJ“, „Quanto“, „Mini_X“, „Zomo“, „AU“, „HL“). , „ZMX“, „Uždirbtas“), stulpelis „pardavimai“ parodo kiekvienos įmonės pardavimus kaip („217“, „200“, „199“, „150“, „210“, „216“, „185“). “, „189“, „202“, „159“, „205“ ir stulpelyje „pajamos“ saugomos vertės, atspindinčios kiekvienos įmonės pajamas, palyginti su atitinkamais pardavimais (340000   320000  300000 270000  315000      0  315000  335000 315000 305 000). Dabar savo duomenų rėmelį „df“ konvertuosime į python žodyną.


Taikydami metodą to_dict() df duomenų rėmeliui, mes pavertėme pandos duomenų rėmelį į žodyną.

02 pavyzdys: Pandas duomenų rėmelio, sukurto iš CSV failo, konvertavimas į žodyną

1 pavyzdyje sukūrėme duomenų rėmelį naudodami sąrašo eilutes. Dabar mes sukursime duomenų rėmelį naudodami CSV failą, o tada konvertuosime jį į žodyną naudodami funkciją to_dict().


Norėdami nuskaityti failą kaip duomenų rėmelį, panaudojome funkciją pd.read_csv(). Aukščiau esančiame duomenų rėmelyje turime du stulpelius (pavadinimas ir ženklai) ir septyniolika eilučių (nuo 0 iki 16). Dabar naudosime metodą to_dict ().


Funkcija pavertė mūsų duomenų rėmelį „df“ į python žodyną.

03 pavyzdys: Konvertuokite Pandas Dataframe į žodyną, kuriame yra reikšmių sąrašai

Ankstesniuose pavyzdžiuose pandas pavertėme python žodynu, kuriame yra keli žodynai. Konvertuojant duomenų rėmelį į žodyno objektą, stulpelių etiketės turėtų būti naudojamos kaip žodyno raktai, o visi stulpelių duomenys arba reikšmės turi būti įtraukti į gautą žodyną kaip kiekvieno rakto reikšmių sąrašas.


Sukūrėme duomenų rėmelį su trimis stulpeliais „vardas“, „šalis“ ir „amžius“. Stulpelyje „vardas“ išsaugojome duomenų reikšmes („Anna“, „Marty“, „Carl“, „Mary“, „Cleb“, „Ali“, „Alexa“, „Becky“, „Ryan“). . Kiti stulpeliai šalis ir amžius yra stiprios vertybės, pvz., („JAV“, „Anglija“, „JAV“, „Prancūzija“, „Rusija“, „Rusija“, „Prancūzija“, „Anglija“, „JAV“) ir ( 34, 32, 30, 27, 31, 33, 35, 25, 30) atitinkamai. Sukursime žodyną, kuriame yra sąrašai, naudodami parametrą 'list' metodo to_dict() viduje.


Naudodami sąrašo parametrą kaip argumentą funkcijos to_list() viduje, sukūrėme žodyną, kuriame yra keli sąrašai.

03 pavyzdys: Konvertuokite Pandas Dataframe į žodyną, kuriame yra reikšmių serija

Kai DataFrame reikia paversti žodynu, stulpelio pavadinimas naudojamas kaip žodyno raktai, o eilutės indeksas ir duomenys stulpelyje kaip atitinkamų žodyno raktų reikšmė.


Sukūrėme reikiamą duomenų rėmelį naudodami pd.DataFrame() metodą. Neseniai sukurtame duomenų rėmelyje turime du stulpelius. Pavadinimo stulpelyje duomenų reikšmės saugomos kaip eilutė („Kim“, „Morris“, „Casper“, „Milli“, „Dave“, „Will“, „Billy“), o ženklų stulpelius sudaro skaitmeniniai duomenys kaip ( 8, 9, 6, 7, 10, 7, 8). Mes naudosime parametrą „series“ kaip eilutę funkcijos to_dict () viduje.

04 pavyzdys: Konvertuokite Pandas Dataframe į žodyną be rodyklės ir antraštės

Funkcijos to_dict() parametras „split“ gali būti naudojamas duomenims iš „DataFrame“ išgauti be stulpelių antraščių arba kai iš duomenų reikia pašalinti antraštę ir eilutės indeksą. Naudojant šį parametrą stulpelių etiketės, eilučių indeksas ir faktiniai duomenys padalijami į tris komponentus. Sukurkime duomenų rėmelį, kad konvertuodami į žodyną galėtume jį padalinti į tris dalis.


Sukūrėme du stulpelius su etiketėmis „vardas“ ir „amžius“ su reikšmėmis („Dave“, „Morris“, „Billy“, „Milli“, „Kim“, „Will“, „Casper“) ir (19, 19). , 25, 21, 19, 21, 23) atitinkamai. Paverskime juos python žodynais.


Naudodami raktą „duomenys“, galime gauti duomenis iš gauto žodyno be rodyklės ar antraštės.

05 pavyzdys: konvertuokite Pandas Dataframe į žodyną pagal eilutę ir eilučių indeksą

Parametras „record“ gali būti naudojamas funkcijoje to_dict() kiekvienos duomenų rėmelio eilutės duomenims saugoti keliuose skirtinguose žodyno objektuose sąraše arba kai reikalingi duomenys iš eilės. Bus grąžintas sąrašas su žodyno objektais. Žodynas su stulpelio etikete kaip raktu ir stulpelio duomenimis kaip kiekvienos eilutės reikšmė.


Sukūrėme duomenų rėmelį su stulpeliais „vardas“ ir „alga“. Stulpelyje „vardas“ yra duomenų reikšmės („Leo“, „Haris“, „Wanda“, „Mike“, „Kelly“, „Adam“, „Jack“), o atlyginimų stulpelyje saugomos reikšmės (12000, 12500). , 14000, 11000, 12000, 13000, 12500). Dabar sukurkime sąrašą su keliais python žodynais, kuriuose yra kiekvienos eilutės duomenys.


Indekso parametras taip pat gali būti naudojamas konvertuoti kiekvienos eilutės duomenis iš duomenų rėmelio į žodyną. Bus grąžintas sąrašas su žodyno elementais. Kiekviena eilutė sukuria žodyną. Kur eilutės indeksas bus raktas, o reikšmė – duomenų žodynas ir stulpelio etiketė.

Išvada

Šioje pamokoje aptarėme, kaip duomenų rėmelį arba pandos objektus galime konvertuoti į python žodyną. Mes matėme funkcijos to_dict() sintaksę, kad suprastume šios funkcijos parametrus ir kaip galite modifikuoti funkcijos išvestį, nurodydami funkciją skirtingais parametrais. Šios pamokos pavyzdžiuose naudojome metodą to_dict() – integruotą pandų funkciją, kad pakeistume pandų objektus į python žodyną.