Pandas의 문자열에서 숫자를 추출하는 방법


다음 기본 구문을 사용하여 Pandas의 문자열에서 숫자를 추출할 수 있습니다.

 df[' my_column ']. str . extract (' (\d+) ')

이 특정 구문은 각 문자열의 숫자를 pandas DataFrame의 my_column 이라는 열로 추출합니다.

참고 : 정규식을 사용할 때 \d는 “모든 숫자”를 나타내고 + 는 “1개 이상”을 의미합니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: Pandas의 문자열에서 숫자 추출

다양한 제품 판매에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 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

제품 열에서 각 문자열의 번호를 추출한다고 가정해 보겠습니다.

이를 위해 다음 구문을 사용할 수 있습니다.

 #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

결과는 Product 열의 각 행에 있는 숫자만 포함하는 DataFrame입니다.

예를 들어:

  • 수식은 첫 번째 줄의 문자열 A33 에서 33을 추출합니다.
  • 수식은 첫 번째 줄의 문자열 B34 에서 34를 추출합니다.
  • 수식은 첫 번째 행의 문자열 A22 에서 22를 추출합니다.

등등.

원하는 경우 이러한 숫자 값을 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

product_numbers 라는 새 열에는 제품 열의 각 문자열에 대한 숫자만 포함됩니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas: 문자열 열을 기준으로 DataFrame을 정렬하는 방법
Pandas: 문자열에서 특정 문자를 제거하는 방법
Pandas: DataFrame의 모든 열에서 문자열 검색

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다