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

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

Linda Hamilton
Lepaskan: 2024-11-02 08:50:29
asal
800 orang telah melayarinya

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

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

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

    A  B
0  12  NaN
1  23  ['foo', 'bar']
Salin selepas log masuk

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

df['B'] = df['B'].astype('object')
Salin selepas log masuk

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!

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