본문 바로가기
Big Data/DataAnalysis & Manipulate

pandas series.str

by Wikinist 2023. 8. 11.

판다스 시리즈(Series)는 판다스의 기본 데이터 구조 중 하나로, 1차원 레이블링된 배열로 생각할 수 있습니다. 시리즈는 인덱스(Index)와 값(Value)으로 구성되며, 이러한 구조를 통해 데이터를 라벨링하고 다룰 수 있습니다.

판다스 시리즈의 str 프로퍼티는 문자열 데이터에 대해 다양한 문자열 메서드를 적용할 수 있는 기능을 제공합니다. 이 프로퍼티를 사용하면 시리즈의 문자열 요소에 대해 문자열 연산을 수행할 수 있습니다. 주로 문자열을 조작하거나 추출하는 작업에 유용합니다.

예를 들어, 판다스 시리즈에서 str 프로퍼티를 사용하여 다양한 문자열 메서드를 호출할 수 있습니다. 일부 유용한 메서드는 다음과 같습니다:

str.lower(): 문자열을 소문자로 변환합니다.
str.upper(): 문자열을 대문자로 변환합니다.
str.strip(): 문자열 양쪽의 공백을 제거합니다.
str.split(): 문자열을 분할하여 리스트로 반환합니다.
str.replace(): 지정된 문자열을 다른 문자열로 교체합니다.
str.contains(): 문자열이 특정 패턴을 포함하는지 여부를 확인합니다.
str.startswith() 및 str.endswith(): 문자열이 특정 접두사 또는 접미사로 시작하거나 끝나는지 확인합니다.
str.len(): 문자열의 길이를 반환합니다.
str.cat(): 시리즈 내의 문자열을 결합합니다.
이 외에도 다양한 문자열 관련 메서드를 활용할 수 있습니다. 이러한 메서드를 사용하여 데이터를 가공하거나 원하는 형식으로 변환하는 등의 작업을 수행할 수 있습니다.

예제

판다스 데이터프레임의 str 프로퍼티는 각 열(Column)에 있는 문자열 데이터에 대해 문자열 메서드를 적용할 수 있는 방법을 제공합니다. 이를 통해 데이터프레임의 열에 있는 모든 문자열 요소에 대해 일괄적으로 문자열 연산을 수행할 수 있습니다.

예를 들어, 데이터프레임에서 "Name" 열에 있는 문자열 데이터에 대해 str.upper() 메서드를 사용하여 이름을 대문자로 변환하는 것이 가능합니다. 또한 "Address" 열에서 str.contains() 메서드를 사용하여 특정 주소를 포함하는 행을 필터링할 수도 있습니다.

여기 몇 가지 예제를 보겠습니다:

import pandas as pd

# 샘플 데이터프레임 생성
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 22],
        'Address': ['123 Main St', '456 Elm St', '789 Oak St']}
df = pd.DataFrame(data)

# Name 열의 문자열을 대문자로 변환
df['Name'] = df['Name'].str.upper()

# Address 열에서 'Main'을 포함하는 행 필터링
filtered_rows = df[df['Address'].str.contains('Main')]

print(df)
print(filtered_rows)

결과:

      Name  Age      Address
0    ALICE   25  123 Main St
1      BOB   30    456 Elm St
2  CHARLIE   22    789 Oak St

    Name  Age      Address
0  ALICE   25  123 Main St

위의 예제에서는 데이터프레임의 열에 있는 문자열 데이터에 대해 str 프로퍼티를 사용하여 대문자로 변환하고, 특정 패턴을 포함하는 행을 필터링하는 방법을 보여주었습니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > DataAnalysis & Manipulate' 카테고리의 다른 글

DataFrame 열 위치 변경  (0) 2023.08.11
explode()와 melt() 그리고 Wide->Long 포맷 변환  (0) 2023.08.11
pandas 선택함수  (0) 2023.08.11
DataFrame groupby()  (0) 2023.08.11
DataFrame 통계 함수  (0) 2023.08.11