Dalam Python, adalah mungkin untuk mencipta DataFrame daripada kamus yang setiap entri memegang tatasusunan Numpy. Walau bagaimanapun, cabaran timbul apabila panjang tatasusunan berbeza antara entri. Secara lalai, Pandas memerlukan tatasusunan panjang seragam, yang membawa kepada ralat seperti "ValueError: tatasusunan mestilah sama panjang."
Mengatasi Percanggahan Panjang
Untuk menangani isu ini, kita boleh memanfaatkan keupayaan Panda untuk menggunakan nilai NaN (Bukan-Nombor) sebagai ruang letak untuk data yang hilang. Dengan menggunakan ini, kami boleh mencipta DataFrame dengan lajur dengan panjang yang berbeza dengan berkesan.
Untuk mencapai matlamat ini, kami boleh menukar setiap entri kamus kepada Siri Pandas, tatasusunan satu dimensi yang boleh mengendalikan nilai yang tiada dengan lancar. Dengan membungkus item kamus dalam ungkapan penjana dan menggunakan pembina Siri, kami boleh mencipta kamus objek Siri.
import pandas as pd import numpy as np # Sample data with uneven array lengths data = { 'A': np.random.randn(5), 'B': np.random.randn(8), 'C': np.random.randn(4) } # Convert dictionary items to Series series_dict = dict((k, pd.Series(v)) for k, v in data.items()) # Create DataFrame from the dictionary of Series df = pd.DataFrame(series_dict)
Hasil:
In [1]: df Out[1]: A B C 0 1.162543 1.681243 0.191287 1 0.459621 -0.141198 -0.109864 2 -0.866704 -0.128677 -0.511496 3 1.222436 -0.371449 -0.705894 4 -0.980584 1.255133 NaN 5 NaN -0.351051 NaN 6 NaN 0.443017 NaN 7 NaN -1.053693 NaN
Seperti yang terbukti, DataFrame mengandungi nilai yang tiada (NaN) di mana panjang tatasusunan berbeza, membolehkan kami mencipta DataFrame dengan panjang lajur yang berbeza daripada kamus dengan panjang tatasusunan yang berbeza-beza.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pandas DataFrame daripada Kamus dengan Panjang Array yang Berbeza-beza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!