Menguji Kehadiran Subrentetan dalam Pandas DataFrame Menggunakan Berbilang Subrentetan
Dalam panda, menggabungkan df.isin() dan df[col].str. contains() untuk menyemak sama ada rentetan mengandungi sebarang subrentetan dalam senarai boleh membosankan. Artikel ini menawarkan penyelesaian alternatif menggunakan ungkapan biasa dan kaedah str.contains().
Untuk menggambarkan, pertimbangkan siri s yang mengandungi ['cat','hat','dog','fog',' haiwan peliharaan']. Untuk mencari semua elemen yang mengandungi sama ada 'og' atau 'at', kecuali 'pet', kod berikut boleh digunakan:
searchfor = ['og', 'at'] jointed_regex = '|'.join(searchfor) s[s.str.contains(jointed_regex)]
Outputnya ialah:
0 cat 1 hat 2 dog 3 fog dtype: object
Dengan menyertai subrentetan dengan '|' aksara, kaedah str.contains() boleh memadankan mana-mana subrentetan dengan berkesan dalam elemen rentetan.
Mengendalikan Aksara Khas
Perhatikan bahawa apabila berurusan dengan subrentetan yang mengandungi khas aksara, seperti $ atau ^, adalah perlu untuk melepaskannya menggunakan re.escape(). Ini memastikan bahawa aksara ditafsir secara literal semasa proses pemadanan.
Sebagai contoh, jika searchfor mengandungi ['money', 'x^y']:
import re safe_searchfor = [re.escape(m) for m in searchfor] s[s.str.contains('|'.join(safe_searchfor))]
Kod ini terlepas daripada aksara khas dan memastikan padanan yang tepat bagi subrentetan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Berbilang Subrentetan Dengan Cekap Dalam Lajur Bingkai Data Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!