0. 이 글은 누구를 위한 글인가요?
- “표에서 특정 열만 보고 싶어요.”
- “나이가 30살 이상인 사람만 골라내고 싶어요!”
- “열 이름으로, 번호로, 조건으로 어떻게 추출하죠?”
Pandas에서 원하는 데이터만 정확히 골라내는 방법, 아주 친절하게 알려드릴게요!
1. 예제 데이터 먼저 만들기
import pandas as pd
data = {
'이름': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],
'나이': [24, 30, 18, 45, 29],
'도시': ['서울', '부산', '대구', '서울', '부산'],
'점수': [85, 90, 75, 88, 95]
}
df = pd.DataFrame(data)
print(df)
출력 예시:
이름 나이 도시 점수
0 Alice 24 서울 85
1 Bob 30 부산 90
2 Charlie 18 대구 75
3 David 45 서울 88
4 Ella 29 부산 95
2. 열(Column) 선택하기
2-1. 하나의 열 선택 (Series)
print(df['이름'])
0 Alice
1 Bob
2 Charlie
3 David
4 Ella
Name: 이름, dtype: object
2-2. 여러 열 선택 (DataFrame)
print(df[['이름', '점수']])
이름 점수
0 Alice 85
1 Bob 90
2 Charlie 75
3 David 88
4 Ella 95
3. 행(Row) 선택하기
3-1. 숫자 기준 선택 (iloc)
print(df.iloc[1])
이름 Bob
나이 30
도시 부산
점수 90
Name: 1, dtype: object
print(df.iloc[1:4])
이름 나이 도시 점수
1 Bob 30 부산 90
2 Charlie 18 대구 75
3 David 45 서울 88
3-2. 인덱스 기준 선택 (loc)
print(df.loc[2])
이름 Charlie
나이 18
도시 대구
점수 75
Name: 2, dtype: object
4. 조건으로 필터링하기
4-1. 나이가 30 이상
print(df[df['나이'] >= 30])
이름 나이 도시 점수
1 Bob 30 부산 90
3 David 45 서울 88
4-2. 도시가 '부산'
print(df[df['도시'] == '부산'])
이름 나이 도시 점수
1 Bob 30 부산 90
4 Ella 29 부산 95
4-3. 점수 >= 85 AND 나이 <= 30
print(df[(df['점수'] >= 85) & (df['나이'] <= 30)])
이름 나이 도시 점수
1 Bob 30 부산 90
4 Ella 29 부산 95
5. 조건 + 열 추출
print(df[df['도시'] == '서울'][['이름', '점수']])
이름 점수
0 Alice 85
3 David 88
6. 열 이름 조건 필터링 (열 이름 중 '점'이 포함된 것만)
filtered_cols = [col for col in df.columns if '점' in col]
print(df[filtered_cols])
점수
0 85
1 90
2 75
3 88
4 95
7. 조건 필터링 + 정렬 예제
filtered = df[(df['점수'] >= 80) & (df['도시'] == '서울')]
sorted_df = filtered.sort_values(by='점수', ascending=False)
print(sorted_df)
이름 나이 도시 점수
3 David 45 서울 88
0 Alice 24 서울 85
8. 요약 정리
작업 | 코드 |
---|---|
특정 열 보기 | df['열이름'] |
여러 열 보기 | df[['열1', '열2']] |
특정 행 보기 | df.iloc[행번호] / df.loc[인덱스] |
조건 필터링 | df[df['열'] 조건] |
다중 조건 | &, | 연산자 사용 |
필터 후 열 추출 | df[조건][['열1']] |
'Python' 카테고리의 다른 글
Pandas + Matplotlib & Seaborn으로 데이터 시각화 완전 입문! (0) | 2025.03.26 |
---|---|
Pandas로 그룹 분석과 통계 요약 완전 정복! (groupby, describe) (0) | 2025.03.25 |
Python Pandas로 데이터 전처리 완전 정복! (결측치, 중복, 정렬) (0) | 2025.03.23 |
Python으로 Excel(.xlsx) 파일 불러오기 - 초보자를 위한 완벽 가이드 (0) | 2025.03.22 |
Python으로 CSV 파일 불러오기 - 진짜 데이터 분석 시작하기 (0) | 2025.03.22 |