Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam Pandas DataFrames?
Mengekstrak Nombor daripada Rentetan DataFrame dengan Panda
Dalam analisis data, selalunya perlu untuk mengekstrak corak atau jenis data tertentu daripada rentetan. Dalam kes Pandas DataFrames, lajur rentetan mungkin mengandungi jenis data bercampur, termasuk aksara dan nombor. Artikel ini menangani cabaran mengekstrak nombor daripada rentetan sedemikian menggunakan pustaka Pandas yang berkuasa.
Pertimbangkan contoh DataFrame berikut yang dipanggil 'df' dengan lajur bernama 'A' yang mengandungi gabungan rentetan dan nilai angka:
<code class="python">import pandas as pd import numpy as np df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'], })</code>
Objektif kami adalah untuk mengasingkan nilai berangka daripada setiap sel, menghasilkan lajur bersih yang mengandungi hanya integer:
A 0 1 1 NaN 2 10 3 100 4 0
Menggunakan Ungkapan Biasa dan Kumpulan Tangkap
Satu pendekatan berkesan untuk mengekstrak nombor daripada rentetan ialah menggunakan ungkapan biasa (regex) dalam kombinasi dengan kumpulan tangkapan. Regex membolehkan kami menentukan corak yang sepadan dengan aksara atau jujukan tertentu dalam rentetan. Kumpulan tangkapan membolehkan kami menangkap dan mengekstrak bahagian rentetan yang dipadankan.
Dalam kes ini, kami boleh menggunakan corak regex berikut:
(\d+)
Corak ini mewakili kumpulan tangkapan yang sepadan satu atau lebih digit (d) berturut-turut.
Menggunakan corak ini pada DataFrame kami menggunakan kaedah 'str.extract':
<code class="python">df.A.str.extract('(\d+)')</code>
menghasilkan hasil yang diingini:
0 1 1 NaN 2 10 3 100 4 0 Name: A, dtype: object
Kumpulan tangkapan berjaya mengekstrak bahagian berangka rentetan, mengabaikan aksara. Adalah penting untuk ambil perhatian bahawa kaedah ini khusus untuk nombor bulat dan tidak akan berfungsi untuk nilai titik terapung.
Kesimpulannya, menggunakan ungkapan biasa dengan kumpulan tangkapan menyediakan cara yang ringkas dan cekap untuk mengekstrak nombor daripada lajur rentetan dalam Pandas DataFrames. Dengan menggabungkan teknik ini, penganalisis data boleh mengasingkan data berangka dengan berkesan untuk analisis dan manipulasi selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam Pandas DataFrames?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!