„JSON” zasadniczo oznacza „notację obiektu JavaScript”.
Pandy ma najpopularniejszą „framework przetwarzania danych” w Pythonie, który jest funkcją „JSON” normalizowaną ”. Jest to wbudowana funkcja pandy. Jest to najprostszy sposób na wykonanie normalizacji pandas json () przy użyciu modułów żądania „Python”.
W tym artykule zobaczymy różne poziomy normalizacji.
Składnia
Pandy.json_normalize (dane, max_level = brak, rejestr_prefix = brak)
Tutaj:
- Dane mogą być słownikiem lub listą słowników.
- Max_Level służy do określenia maksymalnych poziomów do normalizacji. Jeśli nie zostanie określone, znormalizuje wszystkie poziomy. Zajmuje liczbę całkowitą jako parametr; Domyślnie nie jest to żadne.
- Jeśli chcesz dodać jakikolwiek prefiks do etykiety po normalizacji, możesz go dodać, przekazując prefiks do parametru revord_prefix. Domyślnie nie jest to żadne.
Przykład 1: z danymi jako parametr
Tutaj przekazamy tylko dane JSON. Więc znormalizuje wszystkie poziomy. Utwórzmy pięć słowników w liście (lista słowników) i znormalizmy.
importować pandy
# Rozważ dane JSON
rzeczywiste_json_data = [
„stan”: „ap”, „kod”: „aph456”,
„State”: „ts”, „kod”: „SCVH456”,
„State”: „mama”, „kod”: „Tyh4543”,
„State”: „Pun”, „Code”: „Ayu78bn6”,
„State”: „Bng”, „kod”: „RE456”,
]
print (rzeczywiste_json_data)
# normalizuj powyższe dane
znormalizowane = pandy.JSON_NORMALALE (rzeczywiste_JSON_DATA)
# Wyświetl znormalizowane dane
Drukuj (znormalizowane)
Wyjście
[„State”: „ap”, „kod”: „APH456”, „stan”: „ts”, „kod”: „scvh456”, „stan”: „mum”, „kod”: „Tyh4543”, „State”: „pun”, „kod”: „Ayu78bn6”, „State”: „Bng”, „Code”: „RE456”]
Kod stanu
0 AP APH456
1 TS SCVH456
2 Mama Tyh4543
3 Pun Ayu78bn6
4 BNG RE456
Wyjaśnienie
Dane JSON są konwertowane na pandy o maksymalnym poziomie normalizacji.
Przykład 2
Utwórzmy pięć słowników w liście (lista słowników) z pewnymi pustymi wartościami i znormalizuj.
importować pandy
# Rozważ dane JSON
rzeczywiste_json_data = [
„stan”: „ap”, „kod”: „aph456”, „długość”: 100,
„State”: „ts”, „kod”: „SCVH456”,
„State”: „mama”, „długość”: 200,
„State”: „Pun”, „Code”: „Ayu78bn6”,
„State”: „Bng”, „długość”: 300,
]
print (rzeczywiste_json_data)
# normalizuj powyższe dane
znormalizowane = pandy.JSON_NORMALALE (rzeczywiste_JSON_DATA)
# Wyświetl znormalizowane dane
Drukuj (znormalizowane)
Wyjście
[„State”: „ap”, „kod”: „aph456”, „długość”: 100, „stan”: „ts”, „kod”: „scVH456”, „stan”: „mama” ', „długość”: 200, „stan”: „pun”, „kod”: „ayu78bn6”, ' state ':' bng ',' długość ': 300]
Długość kodu stanu
0 AP APH456 100.0
1 TS SCVH456 NAN
2 mama nan 200.0
3 pun ayu78bn6 nan
4 BNG NAN 300.0
Wyjaśnienie
Dane JSON są konwertowane na pandy o maksymalnym poziomie normalizacji. Jeśli wartość jest pusta, wówczas NAN jest zwracany w pustych pozycjach.
Przykład 3: Z parametrem MAX_LEVEL
Utwórzmy pięć słowników w liście (lista słowników) i znormalizujmy do poziomu 0.
importować pandy
# Rozważ dane JSON
rzeczywiste_json_data = [
„State”: „stan 1”: „ap”, „stan 2”: „ind”, „stan 3”: „cal”, „kod”: „aph456”, „długość”: 100,
„State”: „TS”, „Code”: „SCVH456”, „Długość”: 160,
„State”: „mama”, „kod”: „sawh4mo6”, „długość”: 200,
„State”: „Pun”, „kod”: „Ayu78bn6”, „długość”: 200,
„State”: „State 1”: „Bng”, „State 2”: „tln”, „kod”: „Ayu78bn6”, „długość”: 300,
]
# normalizuj powyższe dane do poziomu 0
znormalizowane = pandy.JSON_NORMALALE (rzeczywiste_JSON_DATA, MAX_LEVEL = 0)
# Wyświetl znormalizowane dane
Drukuj (znormalizowane)
Wyjście
Długość kodu stanu
0 „Stan 1”: „ap”, „stan 2”: „Ind”, „State 3”:… APH456 100
1 TS SCVH456 160
2 mama sawh4mo6 200
3 pun ayu78bn6 200
4 „State 1”: „Bng”, „State 2”: „Tln” Ayu78bn6 300
Wyjaśnienie
Normalizacja odbywa się tylko do poziomu 0. Mimo to możemy znormalizować dane w kolumnie stanu.
Znormalizujmy do poziomu 1 w następnym przykładzie.
Przykład 4
Utwórzmy pięć słowników w liście (lista słowników) i znormalizmy ją do poziomu 1.
importować pandy
# Rozważ dane JSON
rzeczywiste_json_data = [
„State”: „stan 1”: „ap”, „stan 2”: „ind”, „stan 3”: „cal”, „kod”: „aph456”, „długość”: 100,
„State”: „TS”, „Code”: „SCVH456”, „Długość”: 160,
„State”: „mama”, „kod”: „sawh4mo6”, „długość”: 200,
„State”: „Pun”, „kod”: „Ayu78bn6”, „długość”: 200,
„State”: „State 1”: „Bng”, „State 2”: „tln”, „kod”: „Ayu78bn6”, „długość”: 300,
]
# normalizuj powyższe dane do poziomu 1
znormalizowane = pandy.JSON_NORMALALE (rzeczywistość_JSON_DATA, Max_Level = 1)
# Wyświetl znormalizowane dane
Drukuj (znormalizowane)
Wyjście
Stan długości kodu.Stan 1.Stan 2.Stan 3
0 APH456 100 AP Ind Cal Nan
1 SCVH456 160 nan nan nan ts
2 SAVH4MO6 200 nan nan nan mama
3 Ayu78bn6 200 Nan Nan Nan Pun
4 ayu78bn6 300 Bng tln nan nan
Wyjaśnienie
Teraz możesz zobaczyć maksymalną normalizację.
Przykład 5: Z rekord_prefix jako parametr
Utwórz dane JSON za pomocą słownika, który posiada trzy stany i dodaj przedrostek „i-” do etykiety stanu.
importować pandy
# Rozważ dane JSON
rzeczywiste_json_data = „stan”: [„ap”, „ts”, „pnu”]
# Normalizuj powyższe dane, przekazując parametr rejestracyjny
znormalizowane = pandy.JSON_NORMALALE (rzeczywistość_JSON_DATA, „State”, record_prefix = „i-”)
# Wyświetl znormalizowane dane
Drukuj (znormalizowane)
Wyjście
I-0
0 AP
1 ts
2 pnu
Wyjaśnienie
Więc dodajemy prefiks do stanu. Po normalizacji prefiks jest dodawany do etykiety 0.
Wniosek
„Normalizacja pandas JSON” jest bardzo skutecznym, potężnym i wygodnym sposobem konwersji nieustrukturyzowanych danych na cenny stan DataFrame. W tym artykule dowiedzieliśmy się o wszystkich opcjach normalizacji pandas JSON. Jak wyjaśniono, przeprowadziliśmy normalizację JSON za pomocą maks. „0” i maksymalnego poziomu „1” dla sposobu dystrybucji. Zrobiliśmy również normalizację JSON naframy danych i kilka kolumnów danych danych. Metoda normalizacji JSON Pandy prowadzi nas do zrównoważonej wydajności ramki danych.