Mencipta DataFrames daripada Kamus dengan Panjang Kemasukan Berbeza
Apabila bekerja dengan kamus di mana entri mengandungi tatasusunan yang berbeza-beza panjang, ia menjadi mencabar untuk membina DataFrame di mana setiap lajur sepadan dengan entri unik. Percubaan untuk menukar terus kamus sedemikian kepada DataFrame menghasilkan "ValueError: tatasusunan mestilah sama panjang."
Penyelesaian
Untuk mengatasi isu ini, satu pendekatan melibatkan menukar tatasusunan setiap entri kepada Siri dan kemudian membina DataFrame daripada dict yang terhasil. Dalam Python 3.x, ini boleh dicapai menggunakan pemahaman senarai:
d = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) ) pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.items() ])) # Output: A B 0 1 1 1 2 2 2 NaN 3 3 NaN 4
Dalam Python 2.x, kod tersebut kekal serupa, tetapi panggilan d.items() digantikan dengan d.iteritems( ):
pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.iteritems() ]))
Teknik ini menukarkan setiap entri kamus ke dalam Siri dengan berkesan, yang kemudiannya boleh dilampirkan pada DataFrame dengan kunci sepadannya sebagai nama lajur. DataFrame yang terhasil akan mempunyai lajur dengan panjang yang sepadan dengan panjang tatasusunan asal. Nilai yang tiada diwakili sebagai NaN untuk memastikan struktur lajur yang konsisten.
Dengan menggunakan pendekatan ini, adalah mungkin untuk mencipta DataFrames daripada kamus yang mengandungi entri dengan panjang tatasusunan yang berbeza-beza, membolehkan analisis dan manipulasi data selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta DataFrames daripada Kamus dengan Panjang Entri yang Berbeza-beza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!