Cara mengekstrak nomor dari string di pandas
Anda dapat menggunakan sintaks dasar berikut untuk mengekstrak angka dari string di panda:
df[' my_column ']. str . extract (' (\d+) ')
Sintaks khusus ini akan mengekstraksi angka dari setiap string ke dalam kolom bernama my_column di pandas DataFrame.
Catatan : Saat menggunakan ekspresi reguler, \d mewakili “digit apa saja” dan + berarti “satu atau lebih.”
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.
Contoh: mengekstrak nomor dari string di Pandas
Misalkan kita memiliki panda DataFrame berikut yang berisi informasi tentang penjualan berbagai produk:
import pandas as pd #createDataFrame df = pd. DataFrame ({' product ': ['A33', 'B34', 'A22', 'A50', 'C200', 'D7', 'A9', 'A13'], ' sales ': [18, 22, 19, 14, 14, 11, 20, 28]}) #view DataFrame print (df) product sales 0 A33 18 1 B34 22 2 A22 19 3 A50 14 4 C200 14 5 D7 11 6 A9 20 7 A13 28
Misalkan kita ingin mengekstrak nomor setiap string dari kolom produk .
Kita dapat menggunakan sintaks berikut untuk melakukan ini:
#extract numbers from strings in 'product' column
df[' product ']. str . extract (' (\d+) ')
0
0 33
1 34
2 22
3 50
4,200
5 7
6 9
7 13
Hasilnya adalah DataFrame yang hanya berisi angka di setiap baris kolom Produk .
Misalnya:
- Rumusnya mengekstrak 33 dari string A33 di baris pertama.
- Rumusnya mengekstrak 34 dari string B34 di baris pertama.
- Rumusnya mengekstrak 22 dari string A22 di baris pertama.
Dan seterusnya.
Jika mau, Anda juga bisa menyimpan nilai numerik ini di kolom baru DataFrame:
#extract numbers from strings in 'product' column and store them in new column
df[' product_numbers '] = df[' product ']. str . extract (' (\d+) ')
#view updated DataFrame
print (df)
product sales product_numbers
0 A33 18 33
1 B34 22 34
2 A22 19 22
3 A50 14 50
4 C200 14,200
5 D7 11 7
6 A9 20 9
7 A13 28 13
Kolom baru bernama product_numbers hanya berisi angka untuk setiap string di kolom product .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Pandas: Cara mengurutkan DataFrame berdasarkan kolom string
Pandas: Cara menghapus karakter tertentu dari string
Pandas: cari string di semua kolom DataFrame