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: 특정 문자열이 포함된 열을 선택하는 방법

의견을 추가하다

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