Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membina Pandas DataFrames daripada Kamus dengan Panjang Susunan Tidak Sekata?

Bagaimana untuk Membina Pandas DataFrames daripada Kamus dengan Panjang Susunan Tidak Sekata?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 11:10:02683semak imbas

How to Construct Pandas DataFrames from Dictionaries with Uneven Array Lengths?

Membina DataFrames daripada Kamus dengan Panjang Tatasusunan Tidak Sekata

Mengendalikan kamus dengan tatasusunan yang tidak sama panjang dalam Panda memerlukan pendekatan yang disesuaikan. Apabila cuba mencipta DataFrame dengan setiap lajur mewakili tatasusunan dalam kamus, seseorang mungkin menghadapi ValueError: "tatasusunan mestilah sama panjang."

Memanfaatkan Objek Siri

Untuk memintas perkara ini isu, kami memanfaatkan objek Siri Panda yang boleh memuatkan tatasusunan dengan panjang yang berbeza-beza. Dengan menukar setiap nilai kamus kepada Siri, kami boleh menyimpan tatasusunan dengan berkesan tanpa mengira panjangnya. Coretan kod berikut menunjukkan pendekatan ini:

import pandas as pd
import numpy as np

# Sample data generated via a reproducible seed
np.random.seed(2023)
data = {k: np.random.randn(v) for k, v in zip("ABCDEF", [10, 12, 15, 17, 20, 23])}

# Convert dictionary values to Series objects
series_dict = {k: pd.Series(v) for k, v in data.items()}

# Create DataFrame using these Series objects
df = pd.DataFrame(series_dict)

Mengekalkan Nilai Yang Hilang

Apabila bekerja dengan tatasusunan dengan panjang yang berbeza-beza, adalah perkara biasa untuk menemui nilai yang tiada di mana tatasusunan yang lebih pendek tidak dapat mengisi sel yang tinggal. Secara lalai, Pandas mengisi jurang ini dengan nilai NaN (Bukan Nombor). Tingkah laku ini mengekalkan data asal sambil menyediakan struktur yang konsisten untuk analisis.

Mengkonfigurasi Pengendalian Nilai Hilang

Jika mahu, anda boleh menyesuaikan pengendalian nilai yang hilang dengan menggunakan parameter missing_values ​​dalam DataFrame( ) pembina. Sebagai contoh, untuk menggantikan nilai yang hilang dengan sifar dan bukannya NaN, anda akan menentukan missing_values=0 seperti yang ditunjukkan di bawah:

df = pd.DataFrame(series_dict, missing_values=0)

Contoh Output

Output berikut menggambarkan DataFrame yang dibuat menggunakan pendekatan yang digariskan di atas:

print(df)
      A         B         C         D         E         F
0  0.711674 -1.076522 -1.502178 -1.519748  0.340619  0.051132
1 -0.324485 -0.325682 -1.379593  2.097329 -1.253501 -0.238061
2 -1.001871 -1.035498 -0.204455  0.892562  0.370788 -0.208009
3  0.236251 -0.426320  0.642125  1.596488  0.455254  0.401304
4 -0.102160 -1.029361 -0.181176 -0.638762 -2.283720  0.183169
...       ...       ...       ...       ...       ...       ...
18       NaN       NaN       NaN       NaN       NaN       NaN
19       NaN       NaN       NaN       NaN       NaN       NaN
20       NaN       NaN       NaN       NaN       NaN       NaN
21       NaN       NaN       NaN       NaN       NaN       NaN
22       NaN       NaN       NaN       NaN       NaN       NaN
23 rows × 6 columns

Seperti yang anda boleh perhatikan, semakin pendek tatasusunan menghasilkan nilai NaN dalam sel yang sepadan, memberikan perwakilan komprehensif data anda sambil mengekalkan format jadual yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Membina Pandas DataFrames daripada Kamus dengan Panjang Susunan Tidak Sekata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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