Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Memasukkan Senarai ke dalam Sel Tertentu dalam Bingkai Data Python Pandas?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-29 13:34:29451semak imbas

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

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>

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>

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!

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