Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menyemak Berbilang Rangkuman Substring dengan Cekap dalam Panda?

Bagaimanakah Saya Boleh Menyemak Berbilang Rangkuman Substring dengan Cekap dalam Panda?

Patricia Arquette
Lepaskan: 2024-12-05 01:29:14
asal
799 orang telah melayarinya

How Can I Efficiently Check for Multiple Substring Inclusions in Pandas?

Menguji Kemasukan Subrentetan Rentetan Menggunakan Panda

Dalam panda, timbul keperluan untuk menentukan sama ada rentetan mengandungi mana-mana subrentetan yang terdapat dalam senarai. Untuk menangani perkara ini, gabungan df.isin() dan df[col].str.contains() boleh digunakan. Walau bagaimanapun, pendekatan ini dianggap menyusahkan.

Penyelesaian yang Diperbaiki

Pendekatan yang lebih halus melibatkan memanfaatkan | (paip) aksara dalam ungkapan biasa untuk memadankan berbilang subrentetan secara serentak. Teknik ini memerlukan penyatuan subrentetan dalam senarai menggunakan '|'.join():

searchfor = ['og', 'at']
s[s.str.contains('|'.join(searchfor))]
Salin selepas log masuk

Pendekatan ini dengan cekap mengenal pasti rentetan yang sepadan dengan mana-mana subrentetan yang ditentukan, menghasilkan hasil yang diperhalusi:

0    cat
1    hat
2    dog
3    fog
dtype: object
Salin selepas log masuk

Mengendalikan Watak Istimewa

Adalah penting untuk berhati-hati apabila berurusan dengan subrentetan yang mengandungi aksara khas seperti $ dan ^ yang mempunyai makna khusus dalam ungkapan biasa. Untuk memastikan padanan literal, gunakan re.escape() untuk melepaskan aksara ini:

import re
matches = ['$money', 'x^y']
safe_matches = [re.escape(m) for m in matches]

s[s.str.contains('|'.join(safe_matches))]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Berbilang Rangkuman Substring dengan Cekap dalam Panda?. 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