Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Meletupkan Senarai dalam Pandas DataFrames?

Bagaimana untuk Meletupkan Senarai dalam Pandas DataFrames?

Linda Hamilton
Lepaskan: 2024-12-03 11:45:12
asal
296 orang telah melayarinya

How to Explode Lists Within Pandas DataFrames?

Senarai Meletup dalam Panda

Pernyataan Masalah

Dalam panda, anda mungkin menemui bingkai data dengan sel yang mengandungi senarai berbilang nilai. Daripada menyimpan berbilang nilai dalam satu sel, ia boleh memberi manfaat untuk mengembangkan bingkai data supaya setiap item dalam senarai menduduki barisnya sendiri.

Penyelesaian untuk Panda >= 0.25

Panda versi 0.25 dan ke atas memperkenalkan Kaedah .explode() untuk kedua-dua Siri dan DataFrame. Kaedah ini memisahkan elemen senarai dengan berkesan ke dalam baris yang berbeza.

Untuk meledakkan lajur, hanya gunakan sintaks berikut:

df.explode('column_name')
Salin selepas log masuk

Sebagai contoh, mari pertimbangkan rangka data berikut:

import pandas as pd
import numpy as np

df = pd.DataFrame(
    {'trial_num': [1, 2, 3, 1, 2, 3],
     'subject': [1, 1, 1, 2, 2, 2],
     'samples': [list(np.random.randn(3).round(2)) for i in range(6)]
    }
)
Salin selepas log masuk

Untuk meletupkan lajur 'sampel', kami akan melakukannya gunakan:

df_exploded = df.explode('samples')
Salin selepas log masuk

Ini akan menghasilkan output yang diingini:

   subject  trial_num  samples
0        1          1    0.57
1        1          1   -0.83
2        1          1    1.44
3        1          2   -0.01
4        1          2    1.13
5        1          2    0.36
6        1          3    1.18
# etc.
Salin selepas log masuk

Nota untuk Lajur Campuran

. kaedah explode() boleh mengendalikan lajur bercampur senarai dan skalar, serta kosong senarai dan NaNs. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ia hanya boleh meletupkan satu lajur pada satu masa.

Atas ialah kandungan terperinci Bagaimana untuk Meletupkan Senarai dalam Pandas DataFrames?. 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