Pandas: 전체 열의 하위 문자열을 얻는 방법
다음 기본 구문을 사용하여 Pandas DataFrame에서 전체 열의 하위 문자열을 가져올 수 있습니다.
df[' some_substring '] = df[' string_column ']. str [1:4]
이 특정 예에서는 string_column 의 1~4번째 위치에 있는 문자를 포함하는 some_substring 이라는 새 열을 만듭니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: Pandas에서 전체 열의 하위 문자열 가져오기
다양한 농구팀에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['Mavericks', 'Warriors', 'Rockets', 'Hornets', 'Lakers'],
' points ': [120, 132, 108, 118, 106]})
#view DataFrame
print (df)
team points
0 Mavericks 120
1 Warriors 132
2 Rockets 108
3 Hornets 118
4 Lakers 106
다음 구문을 사용하여 위치 1과 4 사이에 있는 팀 열의 문자를 포함하는 새 열을 만들 수 있습니다.
#create column that extracts characters in positions 1 through 4 in team column
df[' team_substring '] = df[' team ']. str [1:4]
#view updated DataFrame
print (df)
team points team_substring
0 Mavericks 120 ave
1 Warriors 132 arr
2 Rockets 108 ock
3 Hornets 118 orn
4 Lakers 106 ake
team_substring 이라는 새 열에는 위치 1과 4 사이에 있는 팀 열의 문자가 포함되어 있습니다.
이 구문을 사용하여 숫자 열에서 하위 문자열을 추출하려고 하면 오류가 발생합니다.
#attempt to extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. str [:2]
AttributeError: Can only use .str accessor with string values!
대신 먼저 astype(str)을 사용하여 숫자 열을 문자열로 변환해야 합니다.
#extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. astype (str). str [:2]
#view updated DataFrame
print (df)
team points points_substring
0 Mavericks 120 12
1 Warriors 132 13
2 Rockets 108 10
3 Hornets 118 11
4 Lakers 106 10
이번에는 먼저 문자열로 변환했기 때문에 도트 열에서 0부터 2까지의 문자를 성공적으로 추출할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas:문자열에 여러 하위 문자열이 포함되어 있는지 확인
Pandas: 열의 각 값에 문자열을 추가하는 방법
Pandas: 특정 문자열이 포함된 열을 선택하는 방법