
이전 글에서 Series를 잘 다뤄야 우리가 원하는 데이터를 쉽게 쉽게 찾아낼 수 있다고 얘기한적 있다.
이번 글에서는 Series를 어떤식으로 다루는지 맛보기 형태로 알아보겠다.
문자를 탐색할때 사용하는 contains 메소드에 대해 알아보자.
contains 메소드는 문자열을 이용하는 메소드이기 때문에 이름열을 문자열 형태로 바꿔보자.
df["이름"].str
이렇게 만들면 “이름”열에서 문자열 메소드를 실행할 수 있게 된다.
contains는 데이터가 특정 문자열에 포함이 되는지 확인해주는 메소드 이다.
이름열에 “정” 이들어가는 데이터를 boolean 형식으로 추출 해준다.
df["이름"].str.contains("정")
그럼 Series 형태로 반환됨.

3,4,22,23 번이 True 이므로 이름에 “정”이 들어간다는 것을 확인할 수 있다.
.str.contains 의 반환값은 boolean 형식임으로 True = 1, False = 0 이다.
즉 sum 함수를 활용하면 갯수를 파악할 수 있다.
이름에 “정”이 들어가는 사람의 갯수
sum(df["이름"].str.contains("정"))
4개로 확인.

사용 가능
체인형이란?
함수를 .으로 연결하는 모습을 체인형이라 부름.
Pandas는 체인형이기 때문에 아래와 같은 형식으로도 적용 됨.
df["이름"].str.contains("정").sum()


기존 df[] 의 형태는 데이터프레임을 추출할때 사용한다고 했다.
그렇다면, 대괄호 안에 .str.contains 메소드를 넣으면 그 값을 추출할 수 있게된다.
이름에 “정”이 들어가는 사람들 추출.
df[df["이름"].str.contains("정")]

위에서는 이름에 “정”이 들어가는 인원을 추출했다면
이번에는 정씨인 인원을 추출해 보자.
정씨 인가? T/F로 이루어진 시리즈 생성
# 정씨 인가? T/F로 이루어진 시리즈 생성
df["이름"].str[0] == "정"
str[0] = 문자열 인덱스 0번이 "정"이냐

3,4번이 정씨임을 확인.
# 정씨에 해당하는 데이터프레임 생성
df[df["이름"].str[0] == "정"]

위에서 문자열 함수 contanins를 사용해보았다.
이처럼 문자열 함수를 사용할 때에는 .str을 먼저 사용해 주어야 되는데, contanins 이외에도
.str.lower() .str.upper() .str.startwith() .str.endwith() 처럼 문자열 메소드를 활용할 수 있다.
df[df["이름"].str.startswith("정")]
