Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menghimpunkan Nilai Identik Berturut-turut dalam Pandas DataFrame?

Bagaimana untuk Menghimpunkan Nilai Identik Berturut-turut dalam Pandas DataFrame?

Mary-Kate Olsen
Lepaskan: 2024-11-26 22:33:10
asal
868 orang telah melayarinya

How to Group Consecutive Identical Values in a Pandas DataFrame?

Mengumpulkan Nilai Berturut-turut dalam Pandas DataFrame

Dalam panda, mengumpulkan data boleh menjadi tugas penting untuk analisis dan manipulasi data. Apabila berurusan dengan data berjujukan, selalunya menjadi perlu untuk mengumpulkan nilai berturut-turut yang berkongsi ciri yang sama.

Masalah:

Diberikan DataFrame dengan lajur yang mengandungi nilai berturut-turut, kumpulkan nilai ini ke dalam segmen bersebelahan yang mana nilainya kekal sama.

Sebagai contoh, jika lajur asal mengandungi nilai berikut:

[1, 1, -1, 1, -1, -1]

Output yang dikehendaki ialah:

[ 1, 1] [-1] [1] [-1, -1]

Penyelesaian:

Untuk mencapai pengelompokan ini, panda menyediakan pendekatan yang fleksibel menggunakan fungsi kumpulan mengikut. Walau bagaimanapun, hanya menggunakan groupby pada lajur itu sendiri tidak akan mencukupi. Sebaliknya, kita perlu mencipta Siri tersuai yang mengenal pasti sempadan segmen.

Kod berikut menunjukkan cara melaksanakan penyelesaian ini:

df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]})

# Create a custom Series that identifies segment boundaries
boundaries = df['a'].ne(df['a'].shift()).cumsum()

# Group data by the segment boundaries
for i, g in df.groupby(boundaries):
    print(i)
    print(g)
    print(g.a.tolist())
Salin selepas log masuk

Pendekatan ini memberikan nombor jujukan kepada segmen berturut-turut di mana nilai kekal tidak berubah. Menggunakan nombor ini, data kemudiannya dikumpulkan dengan sewajarnya, dan setiap kumpulan dicetak bersama dengan nilai berturut-turut yang sepadan.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Nilai Identik Berturut-turut dalam Pandas DataFrame?. 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