Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam Pandas DataFrames?

Bagaimana untuk Mengekstrak Nombor daripada Rentetan dalam Pandas DataFrames?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 10:24:02418semak imbas

How to Extract Numbers from Strings in 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!

Kenyataan:
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