Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Ungkapan Biasa Boleh Mengoptimumkan Penapisan Panda untuk Berbilang Subrentetan dalam Siri?

Bagaimanakah Ungkapan Biasa Boleh Mengoptimumkan Penapisan Panda untuk Berbilang Subrentetan dalam Siri?

Linda Hamilton
Lepaskan: 2024-11-28 11:26:11
asal
704 orang telah melayarinya

How Can Regular Expressions Optimize Pandas Filtering for Multiple Substrings in a Series?

Pengoptimuman Penapisan Panda untuk Berbilang Subrentetan dalam Siri

Latar Belakang

Menapis bingkai data Pandas besar berdasarkan berbilang subrentetan dalam rentetan lajur boleh menjadi operasi pengiraan yang mahal. Pendekatan konvensional melibatkan penggunaan topeng untuk setiap subrentetan dan kemudian mengurangkannya menggunakan operasi logik.

Pendekatan Cadangan

Untuk meningkatkan kecekapan, kami mencadangkan memanfaatkan ungkapan biasa (dengan escaped aksara khas) untuk padanan subrentetan. Dengan menyertai subrentetan yang terlepas menggunakan paip regex (|), kami boleh menguji setiap subrentetan terhadap rentetan sehingga padanan ditemui.

Pelaksanaan

import re

# Escape special characters in substrings
esc_lst = [re.escape(s) for s in lst]

# Join escaped substrings using regex pipe
pattern = '|'.join(esc_lst)

# Filter based on concatenated pattern
df[col].str.contains(pattern, case=False)
Salin selepas log masuk

Pertimbangan Prestasi

Prestasi dipertingkatkan dengan mengurangkan bilangan ujian yang diperlukan setiap baris. Kaedah menyemak subrentetan sehingga padanan ditemui, menghapuskan lelaran yang tidak perlu.

Penanda Aras

Menggunakan kerangka data sampel dengan 50,000 rentetan dan 100 subrentetan, kaedah yang dicadangkan mengambil masa kira-kira satu kedua, berbanding lima saat pendekatan konvensional. Kelebihan prestasi ini akan meningkat dengan set data yang lebih besar.

Kesimpulan

Dengan memanfaatkan ungkapan biasa dengan aksara khas yang terlepas, kami boleh menapis bingkai data Pandas dengan cekap untuk berbilang subrentetan, dengan ketara mengurangkan overhed pengiraan.

Atas ialah kandungan terperinci Bagaimanakah Ungkapan Biasa Boleh Mengoptimumkan Penapisan Panda untuk Berbilang Subrentetan dalam Siri?. 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