복붙노트

[PYTHON] 판다는 문자열에서 숫자를 추출합니다.

PYTHON

판다는 문자열에서 숫자를 추출합니다.

주어진 다음 데이터 프레임 :

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

각 셀 (존재하는 곳)에서 숫자를 추출하고 싶습니다. 원하는 결과는 다음과 같습니다.

    A
0   1
1   NaN
2   10
3   100
4   0

나는 그것이 str.extract로 할 수 있다는 것을 알고 있지만, 나는 어떻게 확신 할 수 없다.

해결법

  1. ==============================

    1.정규식 캡처 그룹을 지정하십시오.

    정규식 캡처 그룹을 지정하십시오.

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

    당신에게주는 :

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

    2.위의 설명에서 @Steven G의 질문에 대답하려면이 작업을해야합니다.

    위의 설명에서 @Steven G의 질문에 대답하려면이 작업을해야합니다.

    df.A.str.extract('(^\d*)')
    
  3. from https://stackoverflow.com/questions/37683558/pandas-extract-number-from-string by cc-by-sa and MIT license