Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membahagikan Lajur Panda bagi Kamus ke Lajur Berasingan dengan Cekap?

Bagaimana untuk Membahagikan Lajur Panda bagi Kamus ke Lajur Berasingan dengan Cekap?

Susan Sarandon
Lepaskan: 2024-12-26 14:30:13
asal
120 orang telah melayarinya

How to Efficiently Split a Pandas Column of Dictionaries into Separate Columns?

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'])
Salin selepas log masuk

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'])
Salin selepas log masuk

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!

sumber:php.cn
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