Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Siri Pandas Mengandungi Mana-mana Subrentetan daripada Senarai Diberikan?
Menguji Kemasukan Subrentetan Rentetan dalam Panda
Mencari kaedah yang cekap untuk menentukan sama ada rentetan dalam siri Pandas mengandungi mana-mana senarai tertentu subrentetan? Pertanyaan mengenai perkara ini boleh dilihat di bawah:
Pertanyaan Asal:
Adakah terdapat fungsi panda yang menggabungkan fungsi df.isin() dan df[col] .str.contains()? Saya berhasrat untuk mengenal pasti semua keadaan di mana siri mengandungi sebarang subrentetan daripada senarai yang diberikan.
Penyelesaian Cadangan:
Satu pendekatan yang dicadangkan dalam forum menggunakan pemahaman gelung dan senarai untuk menyemak setiap subrentetan dalam siri. Walau bagaimanapun, penyelesaian yang lebih ringkas dan cekap wujud.
Penyelesaian Berasaskan Regex:
Memanfaatkan regex | operator, seseorang boleh membina regex yang sepadan dengan setiap subrentetan dalam senarai yang diberikan. Regex ini kemudiannya boleh digunakan dengan str.contains untuk menapis siri untuk nilai yang diingini.
import re searchfor = ['og', 'at'] regex = '|'.join(searchfor) df['matching_column'][df['matching_column'].str.contains(regex)]
Pendekatan ini lebih cekap daripada kaedah berulang dan berkesan mencapai hasil yang diinginkan.
Mengendalikan Aksara Khas:
Jika subrentetan mengandungi aksara khas dengan kepentingan regex, seperti sebagai $ atau ^, mereka harus dilepaskan menggunakan re.escape() untuk memastikan ia ditafsirkan secara literal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Siri Pandas Mengandungi Mana-mana Subrentetan daripada Senarai Diberikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!