Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh memisahkan lajur Pandas DataFrame kamus kepada lajur berasingan dengan cekap?
Memisahkan Lajur Kamus kepada Lajur Asingkan dengan Panda
Apabila bekerja dengan bingkai data dalam Panda, adalah perkara biasa untuk menemui lajur yang mengandungi kamus nilai. Membahagikan lajur ini kepada lajur individu boleh meningkatkan organisasi dan kebolehcapaian data.
Pertimbangkan DataFrame berikut:
Station ID Pollutants 8809 {"a": "46", "b": "3", "c": "12"} 8810 {"a": "36", "b": "5", "c": "8"} 8811 {"b": "2", "c": "7"} 8812 {"c": "11"} 8813 {"a": "82", "c": "15"}
Untuk memisahkan lajur "Pencemar" kepada "a", "b" yang berasingan, dan lajur "c", anda boleh menggunakan fungsi json_normalize yang diperkenalkan dalam versi Pandas 0.23.0:
import pandas as pd df2 = pd.json_normalize(df['Pollutants'])
Pendekatan ini cekap dan mengelakkan penggunaan fungsi gunaan yang berpotensi mahal. DataFrame df2 yang terhasil akan kelihatan seperti ini:
Station ID a b c 8809 46 3 12 8810 36 5 8 8811 NaN 2 7 8812 NaN NaN 11 8813 82 NaN 15
Perhatikan bahawa DataFrame yang terhasil mengandungi nilai nol (NaN) untuk kekunci kamus yang hilang. Untuk mengendalikan kes ini, anda boleh menggunakan kaedah fillna untuk menggantikan nilai yang hilang dengan nilai lalai atau menggunakan logik tersuai.
Atas ialah kandungan terperinci Bagaimanakah saya boleh memisahkan lajur Pandas DataFrame kamus kepada lajur berasingan dengan cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!