Hướng dẫn how to extract numbers from a column in python - cách trích xuất số từ một cột trong python

41

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Cho khung dữ liệu sau:

import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })
df

    A
0   1a
1   NaN
2   10a
3   100b
4   0b

Tôi muốn trích xuất các số từ mỗi ô (nơi chúng tồn tại). Kết quả mong muốn là:

    A
0   1
1   NaN
2   10
3   100
4   0

Tôi biết nó có thể được thực hiện với str.extract, nhưng tôi không chắc làm thế nào.

Hướng dẫn how to extract numbers from a column in python - cách trích xuất số từ một cột trong python

Jon Clements ♦

135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng32 gold badges240 silver badges273 bronze badges

Đã hỏi ngày 7 tháng 6 năm 2016 lúc 15:31Jun 7, 2016 at 15:31

Hướng dẫn how to extract numbers from a column in python - cách trích xuất số từ một cột trong python

Bữa tiệc khiêu vũDance Party

3.18510 Huy hiệu vàng38 Huy hiệu bạc64 Huy hiệu đồng10 gold badges38 silver badges64 bronze badges

Cung cấp cho nó một nhóm chụp regex:

df.A.str.extract('(\d+)')

Mang đến cho bạn:

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object

Đã trả lời ngày 7 tháng 6 năm 2016 lúc 15:39Jun 7, 2016 at 15:39

Hướng dẫn how to extract numbers from a column in python - cách trích xuất số từ một cột trong python

Jon Clements ♦ Jon ClementsJon Clements

135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng32 gold badges240 silver badges273 bronze badges

5

Đã hỏi ngày 7 tháng 6 năm 2016 lúc 15:31

df.A.str.extract('(^\d*)')

Bữa tiệc khiêu vũJul 7, 2017 at 0:32

3.18510 Huy hiệu vàng38 Huy hiệu bạc64 Huy hiệu đồng

df = df.assign(A = lambda x: x['A'].str.extract('(\d+)'))

Cung cấp cho nó một nhóm chụp regex:Oct 30, 2020 at 0:06

Hướng dẫn how to extract numbers from a column in python - cách trích xuất số từ một cột trong python

Mang đến cho bạn:Mehdi Golzadeh

Đã trả lời ngày 7 tháng 6 năm 2016 lúc 15:391 gold badge15 silver badges26 bronze badges

Jon Clements ♦ Jon Clements

>>> df
        A
0      1a
1      b2
2    a1b2
3  1a2b3c
>>> df['A'] = df['A'].str.replace('\D+', '')
0      1
1      2
2     12
3    123

Để trả lời câu hỏi của @steven G trong bình luận ở trên, điều này sẽ hoạt động:

Đã trả lời ngày 7 tháng 7 năm 2017 lúc 0:32

U có thể thay thế cột của bạn bằng kết quả của bạn bằng hàm "gán":Sep 28 at 8:15

Đã trả lời ngày 30 tháng 10 năm 2020 lúc 0:06Rostan

Mehdi Golzadehmehdi Golzadeh8 silver badges23 bronze badges

Xem xét các dữ liệu sau:

    A
0   1
1   NaN
2   10
3   100
4   0
3

    A
0   1
1   NaN
2   10
3   100
4   0
4

    A
0   1
1   NaN
2   10
3   100
4   0
5

Để trích xuất số từ cột

    A
0   1
1   NaN
2   10
3   100
4   0
6:

    A
0   1
1   NaN
2   10
3   100
4   0
3

    A
0   1
1   NaN
2   10
3   100
4   0
8

    A
0   1
1   NaN
2   10
3   100
4   0
5

Ở đây, chuỗi đối số là một regex:

  • df.A.str.extract('(\d+)')
    
    0 đại diện cho một số

  • df.A.str.extract('(\d+)')
    
    1 cho biết nhóm bạn muốn trích xuất

Nếu bạn muốn một loạt thay vì DataFrame:

    A
0   1
1   NaN
2   10
3   100
4   0
3

df.A.str.extract('(\d+)')
3

    A
0   1
1   NaN
2   10
3   100
4   0
5

Làm thế nào để bạn trích xuất số trong Python?

Trích xuất số từ chuỗi bằng phương thức Split () và append (): Một phương thức khác mà chúng ta có thể trích xuất các số từ một chuỗi đã cho là sử dụng kết hợp hàm split () và append (). Trong phương thức này, chúng tôi sẽ sử dụng phương thức Split () để phân chia chuỗi đã cho và nối nó vào danh sách.split() and append() methods : Another alternative through which we can extract numbers from a given string is using a combination of split() and append() function. In this method we will use the split() method to split the given string and append it to a list.

Làm cách nào để trích xuất số từ một chuỗi trong một python dataframe?

Extractall () Để trích xuất nhiều số từ chuỗi, nó trích xuất các nhóm chụp trong regex pat dưới dạng các cột trong dataFrame. Nó có các tham số tương tự như gấu trúc. to extract multiple numbers from string, It extract capture groups in the regex pat as columns in DataFrame. It takes the same parameters as Pandas.

Làm cách nào để trích xuất một giá trị từ một cột trong gấu trúc?

Bạn có thể trích xuất một cột của gấu trúc DataFrame dựa trên một giá trị khác bằng cách sử dụng phương thức dataFrame.Query ().Truy vấn () được sử dụng để truy vấn các cột của DataFrame với biểu thức boolean.Ví dụ thổi trả về một cột khóa học trong đó giá trị cột phí phù hợp với 25000.using the DataFrame. query() method. The query() is used to query the columns of a DataFrame with a boolean expression. The blow example returns a Courses column where the Fee column value matches with 25000.

Làm cách nào để trích xuất một cột trong Python?

Trích xuất hàng/cột theo chỉ mục hoặc điều kiện.Chúng ta có thể sử dụng chúng để trích xuất các hàng/cột cụ thể từ khung dữ liệu.Ví dụ, chúng tôi quan tâm đến mùa 199920002000.## Trích xuất 1999-2000 mùa.DF ["1999-00",] ## Trích xuất 1999-2000 và 2001-2002 mùa.