Cara Memisahkan Lajur Kamus Panda kepada Lajur Berasingan
Dalam Bingkai Data Pandas, adalah mungkin untuk menemui lajur yang mengandungi kamus. Untuk mengekstrak nilai daripada kamus ini ke dalam lajur individu, fungsi json_normalize ialah penyelesaian yang cekap.
Kod berikut menunjukkan proses:
import pandas as pd df = pd.DataFrame() # Your existing DataFrame with the dictionary column df2 = pd.json_normalize(df['Pollutant Levels'])
Ini akan mencipta DataFrame df2 baharu dengan nilai daripada lajur kamus 'Tahap Pencemaran' dibahagikan kepada lajur berasingan.
Pengendalian Senarai Panjang Berbeza:
Keperluan yang disediakan menyatakan bahawa semua senarai dalam kamus mengandungi tiga kekunci yang sama ('a', 'b', 'c') tetapi tidak semestinya sama panjang. Untuk menampung ini, kod menggunakan json_normalize, yang secara automatik mengendalikan panjang senarai pembolehubah dengan mengalas nilai yang tiada dengan NaN.
Penyelesaian Isu Unikod:
Jika nilai kamus adalah dalam format Unicode (u{'a': '1', 'b': '2', 'c': '3'} bukannya {u'a': '1', u'b': '2', u'c': '3'}), kod masih akan berfungsi dengan betul. json_normalize boleh mengendalikan kedua-dua jenis rentetan Unicode.
Contoh dengan Unicode:
Untuk data yang diimport daripada pangkalan data PostgreSQL dalam format Unicode:
import pandas as pd # Convert the Unicode strings to strings df['Pollutant Levels'] = df['Pollutant Levels'].astype('unicode') # Use json_normalize to split the dictionary column df2 = pd.json_normalize(df['Pollutant Levels'])
Ini akan menukar rentetan Unicode kepada rentetan biasa dan kemudian memisahkan lajur kamus kepada lajur berasingan.
Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Lajur Panda bagi Kamus ke Lajur Berasingan dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!