Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memasukkan Senarai ke dalam Sel DataFrame Pandas Tanpa Ralat?

Bagaimana untuk Memasukkan Senarai ke dalam Sel DataFrame Pandas Tanpa Ralat?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 08:50:29677semak imbas

How to Insert Lists into Pandas DataFrame Cells Without Errors?

Memasukkan Senarai ke dalam Sel Pandas

Masalah

Dalam Python, percubaan untuk memasukkan senarai ke dalam sel Pandas DataFrame boleh mengakibatkan ralat atau hasil yang tidak dijangka. Contohnya, apabila cuba memasukkan senarai ke dalam sel 1B DataFrame df:

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']

Percubaan berikut untuk memasukkan senarai abc ke dalam 1B, tetapi ia menghasilkan ralat atau sisipan yang salah:

  1. df.ix[1,'B'] = abc - Ralat: Mesti mempunyai kunci dan nilai len yang sama apabila menetapkan dengan iterable
  2. df.ix[1,'B'] = [abc ] - Sisipkan senarai dengan satu elemen: [['foo', 'bar']]
  3. df.ix[1,'B'] = ', '.join(abc) - Sisipkan rentetan: "foo, bar"
  4. df.ix[1,'B'] = [', '.join(abc)] - Sisipkan senarai dengan satu elemen: ['foo, bar']

Penyelesaian

Untuk memasukkan senarai ke dalam sel DataFrame tanpa ralat, gunakan kaedah at, yang sentiasa merujuk kepada satu nilai:

df.at[1, 'B'] = ['foo', 'bar']

Ini akan memasukkan senarai abc menjadi 1B seperti yang dijangkakan:

    A  B
0  12  NaN
1  23  ['foo', 'bar']

Perhatikan bahawa lajur DataFrame mesti mempunyai dtype=object untuk membenarkan pemasukan senarai. Contohnya:

df['B'] = df['B'].astype('object')

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