728x90
데이터프레임에서 특정 조건 & 특정 문자가 포함된 값을 추출하고 싶을때,
다음과 같은 방식을 사용하면 추출이 가능하다.
특정 조건이 포함된 값 추출
먼저 샘플 데이터를 불러온다.
data = "./test_data/test.csv"
df = pd.read_csv(data)
위의 데이터 프레임에서 년도가 1999년인 데이터만 확인하고 싶다면 다음과 같이 코드를 작성할 수 있다.
df[df['Year'] == 1999]
조건을 2개 이상 줄 수 있는데, 2개 이상인 경우엔 각 조건을 괄호로 묶어준다.
#조건을 둘 다 만족해야 할 때
df[(조건1) & (조건2)]
#조건 중 하나라도 만족하면 될 때
df[(조건1) | (조건2)]
예를 들어 년도가 2000년대 이상이면서 비율이 95가 넘는 데이터프레임을 추출해보자.
df[(df['Year'] >= 2000) & (df['Rate'] >= 95)]
특정 문자를 포함하는 행 추출
리스트 조건 안에 포함되는 데이터를 추출하고 싶을 땐 isin() 함수를 사용해주면 된다.
lst = [1994, 1995, 2001, 2002]
df[df['Year'].isin(lst)]
반대로 포함되지 않는 데이터를 추출하고 싶다면 ' ~ ' 를 붙여 사용하면 된다.
lst = [i for i in range(2000, 2021)]
df[~df['Year'].isin(lst)]
그렇다면 컬럼의 데이터에 특정 문자가 포함된 값은 어떻게 추출하면 될까?
먼저 다음과 같이 랜덤으로 이름을 생성하여 컬럼을 추가한다.
import names
df['Names'] = [names.get_full_name() for i in range(0, 28)]
이름에 John이 포함된 열만 추출하고 싶을때, 다음과 같이 할 수 있다.
df[df['Names'].str.contains('John')]
참고
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Python] plotly 사용하기 (1) Line 그래프 (0) | 2023.11.17 |
---|---|
[Pandas] Group by (0) | 2023.11.15 |
[Python] Plotly 설치 (0) | 2023.11.10 |
[Python] 클래스(class) (0) | 2023.11.02 |
[Python] 파이참으로 django 프로젝트 세팅하기 (0) | 2023.10.10 |