Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Berjaya Memasukkan Senarai ke dalam Sel DataFrame dalam Python?

Bagaimana untuk Berjaya Memasukkan Senarai ke dalam Sel DataFrame dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-29 18:50:02745semak imbas

How to Successfully Insert a List into a DataFrame Cell in Python?

Memasukkan Senarai ke dalam Sel dalam DataFrame

Apabila berurusan dengan data jarang dalam panda Python, ia boleh mencabar untuk memasukkan senarai ke dalam sel tertentu. Mencuba operasi sedemikian menggunakan kaedah biasa seperti df.ix[1,'B'] = abc selalunya membawa kepada ralat disebabkan oleh panjang kekunci yang tidak sepadan.

Penyelesaian dan Had Ganti

Percubaan untuk mengatasi masalah ralat dengan melampirkan senarai dalam kurungan segi empat sama tambahan (cth., df.ix[1,'B'] = [abc]) atau menggunakan perwakilan rentetan (cth., df.ix[1,'B'] = ', '.join (abc)) tidak memuaskan, kerana ia memperkenalkan elemen tambahan atau mengubah struktur data yang dimaksudkan.

Menggunakan df.at untuk Sisipan Senarai

Pendekatan yang lebih berkesan ialah menggunakan df.at dan bukannya df.ix atau df.loc. df.at secara khusus menyasarkan sel tunggal, menghapuskan kekaburan yang boleh membawa kepada ralat yang dinyatakan di atas.

<code class="python">import pandas as pd

# Create a dataframe with mixed data types
df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})

# Insert a list into cell 1B
df.at[1, 'B'] = ['m', 'n']

print(df)</code>

Operasi ini berjaya memasukkan ['m', 'n'] ke dalam sel 1B tanpa sebarang ralat.

Memastikan Keserasian Jenis D Lajur

Adalah penting untuk ambil perhatian bahawa lajur yang anda ingin masukkan senarai itu mesti mempunyai dtype ditetapkan kepada 'objek'. Jika lajur mempunyai dtype yang berbeza, seperti 'int64', ralat akan berlaku. Untuk menangani perkara ini, anda boleh menukar dtype lajur sebelum mencuba sisipan:

<code class="python">df = pd.DataFrame(data={'A': [1, 2, 3], 'B': [1,2,3]})
df['B'] = df['B'].astype('object')

# Now, list insertion will work as expected
df.at[1, 'B'] = [1, 2, 3]</code>

Atas ialah kandungan terperinci Bagaimana untuk Berjaya Memasukkan Senarai ke dalam Sel DataFrame dalam Python?. 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