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.
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))]
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
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))]
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!