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

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

Patricia Arquette
Lepaskan: 2024-10-29 18:50:02
asal
861 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan