Pandas JSON normalizuje się

Pandas JSON normalizuje się

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

  1. Dane mogą być słownikiem lub listą słowników.
  2. 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.
  3. 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.