Mengambil Lajur dengan Separa Padanan Rentetan dengan Cekap
Dalam bidang manipulasi data, mencari lajur tertentu dalam kerangka data boleh menjadi keperluan biasa . Walau bagaimanapun, bagaimana jika anda perlu mencari corak tertentu dalam nama lajur tetapi mengabaikan padanan tepat? Contohnya, jika anda mempunyai nama seperti 'spike-2', 'hey spike' dan 'spiked-in' dan ingin mencari mana-mana lajur yang mengandungi 'spike', anda mungkin menghadapi beberapa halangan.
Masalah:
Mengenal pasti lajur yang namanya mengandungi rentetan tertentu, walaupun ia bukan padanan tepat, boleh mencabar.
Penyelesaian:
Untuk mengatasinya, gunakan gelung komprehensif merentas lajur bingkai data, memeriksa setiap nama untuk rentetan yang dikehendaki. Ini boleh dicapai dengan pemahaman senarai:
<code class="python">[col for col in df.columns if 'spike' in col]</code>
Coretan ini menjana senarai yang terdiri daripada semua nama lajur yang memenuhi syarat yang ditentukan.
Contoh:
Pertimbangkan rangka data berikut:
<code class="python">data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]} df = pd.DataFrame(data) spike_cols = [col for col in df.columns if 'spike' in col]</code>
Output:
['spike-2', 'spiked-in']
Pendekatan Alternatif:
Untuk penyelesaian yang lebih ringkas, pertimbangkan menggunakan kaedah penapis:
<code class="python">df2 = df.filter(regex='spike')</code>
Pendekatan ini menghasilkan bingkai data yang mengandungi hanya lajur yang memenuhi syarat regex yang ditentukan:
spike-2 spiked-in 0 1 7 1 2 8 2 3 9
Dengan menggunakan teknik ini, anda boleh mendapatkan semula lajur dengan cekap dalam bingkai data, walaupun nama mereka tidak betul-betul sepadan dengan rentetan yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Lajur dengan Cekap dengan Padanan Rentetan Separa dalam DataFrames?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!