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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *