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의 모든 열에서 문자열 검색