Bagaimana untuk Membaca JSON Bersarang ke dalam Pandas DataFrame dan Memanipulasi Struktur Data?

Barbara Streisand
Lepaskan: 2024-10-24 12:10:02
asal
400 orang telah melayarinya

How to Read Nested JSON into a Pandas DataFrame and Manipulate Data Structures?

Membaca Nested JSON sebagai Pandas DataFrame

Untuk membaca fail JSON dengan objek bersarang sebagai panda DataFrame, anda boleh menggunakan json_normalize yang berkuasa fungsi. Fungsi ini membolehkan anda meratakan struktur data bersarang ke dalam format jadual, menjadikannya lebih mudah untuk memanipulasi dan menganalisis data.

Meluaskan Tatasusunan ke dalam Lajur

Sampel anda mengandungi JSON pelbagai lokasi. Daripada mengekalkan tatasusunan ini sebagai lajur JSON, anda boleh mengembangkannya ke lajur yang berasingan untuk mendapatkan cerapan yang lebih baik tentang data. json_normalize boleh mencapai ini dengan parameter meta. Ia menentukan lajur mana yang harus tidak disarangkan dan disertakan sebagai lajur biasa dalam DataFrame.

<code class="python">import json

with open('myJson.json') as data_file:    
    data = json.load(data_file)  

df = pd.json_normalize(data, 'locations', ['date', 'number', 'name'], 
                    record_prefix='locations_', meta=['depTime', 'arrTime'])</code>
Salin selepas log masuk

Kod ini akan mencipta DataFrame dengan lajur tambahan untuk depTime dan arrTime yang diperoleh daripada tatasusunan lokasi.

Menyertai Lajur Lokasi

Anda menyebut bahawa anda mahu menyertai lajur lokasi. Ini boleh dilakukan menggunakan kod berikut:

<code class="python">df['locations'] = df.locations.apply(','.join)</code>
Salin selepas log masuk

Ini akan menggabungkan lokasi menjadi satu rentetan dipisahkan koma.

Mengendalikan Berbilang Objek JSON

Jika fail JSON anda mengandungi berbilang objek JSON (satu setiap baris), anda boleh menggunakan kod berikut:

<code class="python">import pandas as pd

# Read the JSON file into a list of dictionaries
with open('myJson.json') as f:
    data = [json.loads(line) for line in f]

# Convert the list of dictionaries to a DataFrame
df = pd.DataFrame(data)</code>
Salin selepas log masuk

Anda kemudian boleh menggunakan teknik yang sama yang diterangkan di atas untuk menormalkan dan menyertai data bersarang.

Dengan memanfaatkan json_normalize, anda boleh membaca, meratakan dan memanipulasi data JSON bersarang dengan cekap ke dalam DataFrame panda, meningkatkan keupayaan analisis data anda.

Atas ialah kandungan terperinci Bagaimana untuk Membaca JSON Bersarang ke dalam Pandas DataFrame dan Memanipulasi Struktur Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan