Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Memeriksa Berbilang Substring dengan Cekap dalam Siri Pandas?

Bagaimanakah Saya Boleh Memeriksa Berbilang Substring dengan Cekap dalam Siri Pandas?

Patricia Arquette
Lepaskan: 2024-12-14 15:04:11
asal
725 orang telah melayarinya

How Can I Efficiently Check for Multiple Substrings Within a Pandas Series?

Menguji Kehadiran Subrentetan dalam Rentetan Menggunakan Pandas DataFrame

Apabila bekerja dengan data rentetan dalam perpustakaan Pandas Python, anda mungkin menghadapi keperluan untuk menentukan sama ada rentetan mengandungi sebarang subrentetan daripada senarai yang diberikan. Walaupun terdapat pelbagai fungsi yang menyemak kehadiran subrentetan, seperti df.isin() dan df[col].str.contains(), penggunaannya secara gabungan boleh menjadi agak rumit.

Andaikan kita mempunyai Panda Siri yang mengandungi rentetan seperti "kucing", "topi", "anjing", "kabus" dan "haiwan peliharaan", dan kami ingin mengenal pasti semua rentetan yang termasuk sama ada "og" atau "at."

Satu penyelesaian ialah menggunakan corak regex yang sepadan dengan mana-mana subrentetan dalam senarai menggunakan "|" watak. Sebagai contoh, dengan menyertai subrentetan dalam carian untuk menggunakan "|," kami mencipta regex:

>>> searchfor = ['og', 'at']
>>> regex_pattern = '|'.join(searchfor)
>>> s[s.str.contains(regex_pattern)]
0    cat
1    hat
2    dog
3    fog
dtype: object
Salin selepas log masuk

Pendekatan ini berkesan mencari semua rentetan dalam s yang mengandungi sama ada "og" atau "at." Ia adalah kaedah yang ringkas dan cekap.

Walau bagaimanapun, jika subrentetan dalam carian mengandungi aksara khas seperti "$" atau "^," adalah penting untuk melepaskannya menggunakan re.escape() untuk memastikan padanan literal. Contohnya:

>>> import re
>>> matches = ['$money', 'x^y']
>>> safe_matches = [re.escape(m) for m in matches]
>>> regex_pattern = '|'.join(safe_matches)
>>> s[s.str.contains(regex_pattern)]
0    cat
1    hat
2    dog
3    fog
dtype: object
Salin selepas log masuk

Dengan melarikan diri daripada aksara khas, kami memastikan ia sepadan dengan setiap aksara secara literal apabila digunakan dengan str.contains. Pendekatan ini menyediakan penyelesaian yang mantap untuk pengesanan subrentetan dalam Siri Pandas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Berbilang Substring dengan Cekap dalam Siri Pandas?. 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