Pandy do słownika

Pandy do słownika

W Python struktura danych zwana słownikiem jest używana do przechowywania informacji jako pary wartości kluczowej. Obiekty słowne są zoptymalizowane w celu wyodrębnienia danych/wartości, gdy znany są klucz lub klucze. Aby skutecznie znaleźć wartości za pomocą powiązanego indeksu, możemy konwertować serię pandy lub ramkę danych z odpowiednim indeksem na obiekt słownika z parami kluczów „indeks: wartość”. Aby osiągnąć to zadanie, można zastosować metodę „to_dict ()”. Ta funkcja jest wbudowaną funkcją znalezioną w klasie serii modułu PandaS.

Rzeka danych jest przekonwertowana na słownik danych podobny do listy Python z serii za pomocą pandy.metoda to_dict () w zależności od określonej wartości parametru orienta."

Będziemy używać metody To_dict () w pandy. Możemy zorientować pary kluczowe zwróconego słownika na różne sposoby za pomocą funkcji to_dict (). Składnia funkcji jest następująca:

Składnia:

Pandy.DataFrame_Object.to_dict (orient = „dict”, do =)

Parametry:

    1. Orient: Który danych, aby przekonwertować kolumny (seria na), jest określona przez wartość ciągu („DICT”, „List”, „Records”, „indeks”, „seria”, „split”). Na przykład słowo kluczowe „lista” podałaby słownik Python z obiektów listy z klawiszami „nazwa kolumny” i „lista” (konwertowana seria) jako wyjście.
    2. do: Klasa może być przekazywana jako instancja lub faktyczna klasa. Na przykład instancja klasowa może zostać przekazana w przypadku domyślnego. Wartość domyślna parametru jest dyktowana.

Typ powrotu:

Słownik przekonwertowany z ramki danych lub serii.

Dane:

We wszystkich przykładach użyjemy następującej ramki danych o nazwie „Uwagi”, które zawierają 2 wiersze i 4 kolumny. Tutaj etykiety kolumn to - [„id”, „nazwa”, „status”, „opłata”].

importować pandy
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Wyświetl ramkę danych - uwagi
Drukuj (uwagi)

Wyjście:

ID Nazwa Opłata statusu
0 23 Sravan Pass 1000
1 21 Sravan Fail 400

Przykład 1: to_dict () bez parametrów

Konwertujemy Uwagi DataFrame na słownik bez przekazywania żadnych parametrów do metody To_dict ().

importować pandy
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Konwertuj na słownik
Drukuj (uwagi.to_dict ())

Wyjście:

'id': 0: 23, 1: 21, „name”: 0: 'sravan', 1: 'sravan', 'status': 0: 'pass', 1: 'fail' , „Fee”: 0: 1000, 1: 400

Wyjaśnienie

Rama danych jest konwertowana na słownik.

Tutaj kolumny w oryginalnej ramce danych zostały przekonwertowane jako klucze w słowniku, a każda kolumna ponownie przechowuje dwie wartości w formacie słownika. Klucze dla tych wartości zaczynają się od 0.

Przykład 2: to_dict () z „serią”

Konwertujemy Uwagi DataFrame na słownik w formacie szeregowym, przekazując parametr „serii” do metody To_dict ().

Format:

importować pandy
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Konwertuj na słownik z serią wartości
Drukuj (uwagi.to_dict („seria”))

Wyjście:

„ID”: 0 23
1 21
Nazwa: id, Dtype: int64, „Nazwa”: 0 sravan
1 Sravan
Nazwa: Nazwa, Dtype: Obiekt, „Status”: 0 Pass
1 niepowodzenie
Nazwa: Status, Dtype: Obiekt, „Opłata”: 0 1000
1 400
Nazwa: opłata, DTYPE: INT64

Wyjaśnienie

Rama danych jest przekonwertowana na słownik z formatem „serii”.

Tutaj kolumny w oryginalnej ramce danych zostały przekonwertowane jako klucze w słowniku, a każda kolumna będzie przechowywać wiersze wraz z typem danych kolumny. Typ danych kolumny „id” to INT64, a pozostałe dwie kolumny to „obiekt”.

Przykład 3: to_dict () z „podzielonym”

Jeśli chcesz oddzielić etykiety wierszy, etykiety kolumnowe i wartości w przekonwertowanym słowniku, możesz użyć parametru „podzielonego”. Tutaj klucz „indeks” będzie przechowywać listę etykiet indeksowych. Klucz „Kolumny” pomieści listę nazw i danych kolumn to zagnieżdżona lista, która przechowuje każde wartości wiersza na liście oddzielonej przecinkiem.

Format:

importować pandy
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Przelicz na słownik bez indeksu i nagłówka
Drukuj (uwagi.to_dict („split”))

Wyjście:

„indeks”: [0, 1], „kolumny”: [„id”, „name”, „status”, „opłata”], „data”: [[23, „sravan”, „pass”, 1000 ], [21, „Sravan”, „Fail”, 400]]

Wyjaśnienie

Widzimy, że dwa wskaźniki były przechowywane na liście jako wartość klucza - „indeks”. Podobnie nazwy kolumn są również przechowywane na liście jako wartość do klucza - „kolumny”, a każdy wiersz jest przechowywany jako lista na liście zagnieżdżonych do „danych”.

Przykład 4: To_dict () z „Record”

Jeśli przekonwertujesz swoją ramkę danych na słownik z każdym wierszem jako słownik na liście, możesz użyć parametru rekordu w metodzie To_Dict (). Tutaj każdy wiersz jest umieszczony w słowniku, tak że klawiszem będzie nazwa kolumny i wartość jest faktyczną wartością w PandaS DataFrame. Wszystkie rzędy były przechowywane na liście.

Format:

importować pandy
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Konwertuj na słownik według rekordu
Drukuj (uwagi.to_dict („rekord”))

Wyjście:

[„ID”: 23, „Nazwa”: „Sravan”, „Status”: „Pass”, „Fee”: 1000, „ID”: 21, „Nazwa”: „Sravan”, „Status”: „Fail”, „Opłata”: 400]

Przykład 5: to_dict () z „indeksem”

Tutaj każdy wiersz jest umieszczony w słowniku, ponieważ wartość do klucza zaczyna się od 0. Wszystkie rzędy zostały ponownie przechowywane w słowniku.

Format:

importować pandy
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Przelicz na słownik z indeksem
Drukuj (uwagi.to_dict („indeks”))

Wyjście:

[0: 'id': 23, „name”: „sravan”, „status”: „pass”, „opłata”: 1000, 1: 'id': 21, „nazwa”: „sravan” , „Status”: „Fail”, „Opłata”: 400

Przykład 6: Ordereddict ()

Wykorzystajmy parametr „w”, który przyjmie Zamówienie, który przekształca ramkę danych Pandas w uporządkowany słownik.

importować pandy
Z kolekcji import *
# Utwórz ramę danych za pomocą list
Uwagi = pandy.DataFrame ([[23, „Sravan”, „Pass”, 1000],
[21, „Sravan”, „Fail”, 400],
], kolumny = [„id”, „name”, „status”, „opłata”])
# Konwertuj na COUREDDICT
Drukuj (uwagi.to_dict (do = cordeddict)))

Wyjście:

COUREDDICT ([(„id”, condereddict ([(0, 23), (1, 21)])), („name”, conteddict ([(0, 'sravan'), (1, 'sravan')] )), („Status”, Ordereddict ([(0, „Pass”), (1, „Fail”)]))), („opłata”, COMEREDDICT ([(0, 1000), (1, 400)] ))])

Wniosek

Omówiliśmy, w jaki sposób możemy przekonwertować obiekty DataFrame lub Pandas na słownik Python. Widzieliśmy składnię funkcji to_dict (), aby zrozumieć parametry tej funkcji i sposób modyfikacji wyjścia funkcji, określając funkcję z różnymi parametrami. W przykładach tego samouczka zastosowaliśmy metodę To_dict (), wbudowaną funkcję panda, aby zmienić obiekty pand na słownik Python.