Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membaca JSON Bersarang ke dalam Pandas DataFrame dan Memanipulasi Struktur Data?

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

Barbara Streisand
Barbara Streisandasal
2024-10-24 12:10:02275semak imbas

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>

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>

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>

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!

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