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:
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.