Pandas към речника

Pandas K M Recnika



„В Python структура от данни, наречена речник, се използва за съхраняване на информация като двойки ключ-стойност. Обектите на речника са оптимизирани за извличане на данни/стойности, когато ключът или ключовете са известни. Имайте предвид, че речниците може да включват дублиращи се ключове. За да намерим ефективно стойности, използвайки свързания индекс, можем да конвертираме серия от панди или рамка от данни с подходящ индекс в речников обект с двойки ключ-стойност „индекс: стойност“. За постигане на тази задача може да се използва методът “to_dict()”. Тази функция е вградена функция, намираща се в класа Series на модула pandas. Рамка с данни се преобразува в подобен на Python списък с данни речник от серии, използвайки метода pandas.to_dict(), в зависимост от определената стойност на параметъра orient.“

Как да конвертирате Pandas в речник на Python?

Има няколко метода за конвертиране на панди в речник. Въпреки това, за да трансформираме рамка от данни на Pandas в речник на Python, ще използваме метода to_dict() в Pandas. Можем да ориентираме двойките ключ-стойност на върнатия речник по различни начини, като използваме функцията to_dict(). Синтаксисът на функцията е както следва:







Синтаксис



pandas.to_dict ( изток = 'дикт', в = )



Параметри

ориентирам: В кой тип данни да се преобразуват колони (серии) се определя от стойността на низа (“dict”, “list”, “records”, “index”, “series”, “split”). Например, ключовата дума „списък“ ще даде речник на Python от списъчни обекти с ключовете „Име на колона“ и „Списък“ (преобразувана серия) като изход.





в: клас, може да се предава като екземпляр или действителен клас. Например, екземпляр на клас може да бъде предаден в случай на dict по подразбиране. Стойността по подразбиране на параметъра е dict.

Тип връщане: Речник, преобразуван от рамка с данни или серия.



Пример # 01: Преобразуване на рамката с данни Pandas в речник

Използвайки набора от списъци във функцията pd.DataFrame(), ние ще създадем основна рамка от данни с някои колони и редове, за да можем по-късно да я конвертираме в речник на Python.


Създадохме нашата рамка с данни, като предадохме списъка във функцията pd.DataFrame(). В горната рамка с данни имаме три колони „компания“, „продажби“ и „приходи“. В колоната компания сме съхранили имената на произволни компании като („A&B“, „Max_tech“, „XT“, „MJ“, „Quanto“, „Mini_X“, „Zomo“, „AU“, „HL“ , „ZMX“, „Earny“), колоната „продажби“ представлява продажбите на всяка компания като („217“, „200“, „199“, „150“, „210“, „216“, „185“ “, „189”, „202”, „159”, „205”), а колоната „приходи” съхранява стойностите, представляващи приходите на всяка компания спрямо съответните продажби (340000   320000  300000 270000  315000  335000  250000  255000   301000   0 2440 305000). Сега ще преобразуваме нашата рамка с данни „df“ в речник на Python.


Чрез прилагане на метода to_dict() към df dataframe, ние преобразувахме pandas dataframe в речник.

Пример # 02: Преобразуване на рамката от данни Pandas, създадена от CSV файл, в речник

В пример # 1 създадохме рамка с данни, използвайки кортежи в списъка. Сега ще създадем рамка с данни с помощта на CSV файл и след това ще я конвертираме в речник с помощта на функцията to_dict().


За да прочетем файл като рамка с данни, използвахме функцията pd.read_csv(). В рамката с данни по-горе имаме две колони (име и знаци) и седемнадесет реда (от 0 до 16). Сега ще използваме метода to_dict().


Функцията преобразува нашата рамка от данни „df“ в речник на Python.

Пример # 03: Преобразуване на Pandas Dataframe в речника, съдържащ списъците със стойности

В по-ранните примери ние преобразувахме пандите в речник на Python, съдържащ множество речници. Когато преобразувате рамка от данни в обект на речник, етикетите на колоните трябва да служат като ключове на речника и всички данни или стойности на колоните трябва да бъдат добавени към резултантния речник като списък със стойности за всеки ключ.


Създадохме рамката с данни с три колони „име“, „държава“ и „възраст“. В колоната „име“ сме съхранили стойностите на данните („Анна“, „Марти“, „Карл“, „Мери“, „Клеб“, „Али“, „Алекса“, „Беки“, „Райън“) . Докато другите колони държава и възраст са силни стойности като („САЩ“, „Англия“, „САЩ“, „Франция“, „Русия“, „Русия“, „Франция“, „Англия“, „САЩ“) и ( 34, 32, 30, 27, 31, 33, 35, 25, 30) съответно. Ще създадем речник, съдържащ списъците, като използваме параметъра „списък“ в метода to_dict().


Използвайки параметъра list като аргумент във функцията to_list(), ние генерирахме речник, съдържащ множество списъци.

Пример # 03: Преобразуване на Pandas Dataframe в речника, съдържащ серията от стойности

Когато DataFrame трябва да се трансформира в речник, името на колоната служи като ключове на речника, а индексът на реда и данните в колоната като стойност за съответните ключове в речника.


Създадохме необходимия кадър с данни с помощта на метода pd.DataFrame(). В наскоро създадената рамка с данни имаме две колони. Колоната с име съхранява стойностите на данните като низ („Kim“, „Morris“, „Casper“, „Milli“, „Dave“, „Will“, „Billy“), докато колоните с маркировки се състоят от числови данни като ( 8, 9, 6, 7, 10, 7, 8). Ще използваме параметъра „series“ като низ във функцията to_dict().

Пример # 04: Преобразуване на Pandas Dataframe в речника без индекс и заглавка

Параметърът „split“ на функцията to_dict() може да се използва за извличане на данни от DataFrame без заглавките на колоните или когато трябва да премахнем заглавката и индекса на реда от данните. Етикетите на колоните, индексът на реда и действителните данни се разделят на три компонента с помощта на този параметър. Нека създадем рамка с данни, за да можем да я разделим на три части, докато я конвертираме в речника.


Създадохме две колони с етикети „име“ и „възраст“, ​​съдържащи стойности („Дейв“, „Морис“, „Били“, „Мили“, „Ким“, „Уил“, „Каспър“) и (19, 19 , 25, 21, 19, 21, 23) съответно. Нека ги конвертираме в речници на Python.


Използвайки ключа „данни“, можем да извлечем данните от резултантния речник без индекс или заглавка.

Пример # 05: Преобразуване на Pandas Dataframe в речника по ред и индекс на ред

Параметърът „запис“ може да се използва във функцията to_dict() за съхраняване на данни от всеки ред от рамка с данни в множество отделни речникови обекти в списък или когато се изискват данни по ред. Ще бъде върнат списък, съдържащ речникови обекти. Речник с етикет на колона като ключ и данни на колона като стойност за всеки ред.


Създадохме рамка с данни с колони „име“ и „заплата“. Колоната „име“ съдържа стойностите на данните („Лео“, „Харис“, „Уанда“, „Майк“, „Кели“, „Адам“, „Джак“), а колоната за заплата съхранява стойностите (12000, 12500 , 14000, 11000, 12000, 13000, 12500). Сега нека създадем списък с множество речници на Python, съдържащи данни за всеки ред.


Параметърът index може също да се използва за преобразуване на данните на всеки ред от рамка с данни в речник. Ще бъде върнат списък, съдържащ елементи от речника. Всеки ред генерира речник. Където индексът на реда ще бъде ключът, а стойността ще бъде речникът на данните и етикетът на колоната.

Заключение

В този урок обсъдихме как можем да конвертираме обектите dataframe или pandas в речник на Python. Видяхме синтаксиса на функцията to_dict(), за да разберем параметрите на тази функция и как можете да промените изхода на функцията, като посочите функцията с различни параметри. В примерите от този урок използвахме метода to_dict(), вградена функция на pandas, за да променим обектите на pandas в речника на python.