Bagaimanakah Saya Boleh Memasukkan Senarai ke dalam Sel Tertentu dalam Bingkai Data Python Pandas?

Patricia Arquette
Lepaskan: 2024-10-29 13:34:29
asal
438 orang telah melayarinya

How Can I Insert a List into a Specific Cell in a Python Pandas Dataframe?

Masukkan Senarai ke dalam Sel dalam Python Pandas Dataframe

Memasukkan senarai ke dalam sel tertentu dalam bingkai data panda boleh menjadi tugas yang sukar. Mari kita terokai pelbagai pendekatan dan isu yang berpotensi berdasarkan contoh yang diberikan:

Masalah Asal:

Kerangka data 'df' dengan struktur berikut:

    A  B
0  12  NaN
1  23  NaN
Salin selepas log masuk

dan senarai 'abc' yang mengandungi ['foo', 'bar']. Matlamatnya ialah untuk memasukkan senarai ini ke dalam sel 1B.

Usaha:

  1. df.ix[1,'B'] = abc: Throws a ValueError disebabkan oleh panjang kunci dan nilai yang tidak sama.
  2. df.ix[1,'B'] = [abc]: Sisipkan senarai yang mengandungi senarai 'abc' dan bukannya elemen individu.
  3. df.ix[1,'B'] = ', '.join(abc): Memasukkan rentetan dan bukannya senarai.
  4. df.ix[1,'B'] = [', '. join(abc)]: Memasukkan senarai satu elemen yang mengandungi rentetan bercantum.

Penyelesaian:

Kaedah set_value yang ditamatkan telah digantikan dengan at. Menggunakan pada jaminan menetapkan nilai tunggal:

<code class="python">df.at[1, 'B'] = ['foo', 'bar']</code>
Salin selepas log masuk

Pertimbangan Tambahan:

  • Pastikan lajur sasaran mempunyai dtype=objek untuk menampung sisipan senarai.
  • Pendekatan yang sama boleh digunakan untuk memasukkan senarai ke dalam sel yang mengandungi nilai integer atau rentetan.
  • Walau bagaimanapun, apabila memasukkan senarai ke dalam lajur yang mengandungi jenis data bercampur (integer dan rentetan), ValueError mungkin berlaku. Ini boleh diselesaikan dengan menukar lajur kepada dtype=object sebelum dimasukkan.

Contoh Kemas Kini:

Memasukkan senarai 'abc' ke dalam df2.loc[ 1,'B'] dan df3.loc[1,'B']:

<code class="python">df2 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla']
})

df3 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla bla'],
    'D': [['item1', 'item2'], [11, 12, 13]]
})

df2.loc[1, 'B'] = ['foo', 'bar']
df3.loc[1, 'B'] = ['foo', 'bar']</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Senarai ke dalam Sel Tertentu dalam Bingkai Data Python Pandas?. 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