Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Membahagikan Lajur Kamus Bersarang dengan Cekap dalam Pandas DataFrames dengan Panjang Tidak Sama?
Memisahkan Lajur Kamus Bersarang dalam Panda dengan json_normalize
Dalam Python, apabila bekerja dengan Pandas DataFrames, adalah mungkin untuk menghadapi keadaan di mana lajur terakhir mengandungi kamus bersarang. Untuk mengekstrak nilai ini ke dalam lajur yang berasingan, anda mungkin menghadapi cabaran jika kamus tidak sama panjang.
Artikel ini membentangkan penyelesaian menggunakan fungsi json_normalize(). Berikut ialah contoh:
import pandas as pd # Sample DataFrame with a column of nested dictionaries df = pd.DataFrame({ 'Station ID': ['8809', '8810', '8811', '8812', '8813'], 'Pollutant Levels': [ {'a': '46', 'b': '3', 'c': '12'}, {'a': '36', 'b': '5', 'c': '8'}, {'b': '2', 'c': '7'}, {'c': '11'}, {'a': '82', 'c': '15'}, ] }) # Extract columns using json_normalize df2 = pd.json_normalize(df['Pollutant Levels']) # Concatenate with original DataFrame df = pd.concat([df, df2], axis=1) # Drop the original 'Pollutant Levels' column df = df.drop(columns=['Pollutant Levels']) print(df)
Output:
Station ID a b c 0 8809 46 3 12 1 8810 36 5 8 2 8811 NaN 2 7 3 8812 NaN NaN 11 4 8813 82 NaN 15
Pendekatan ini secara berkesan mengekstrak nilai kamus bersarang ke dalam lajur berasingan, mengendalikan isu panjang kamus yang berbeza-beza. Fungsi json_normalize() menukarkan data JSON bersarang dengan cekap kepada format jadual, menghapuskan keperluan untuk fungsi penggunaan yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Lajur Kamus Bersarang dengan Cekap dalam Pandas DataFrames dengan Panjang Tidak Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!