각 문항은 실생활 DataFrame 코드와 출력결과를 보고 푸는 심화형 5지선다입니다. 채점 후 학번_이름_시각화_점수_응시시각.txt 파일이 자동 다운로드됩니다.
1. 1. 학생 성적 총점 기준 내림차순 정렬
핵심 개념: sort_values(), ascending=False, 여러 열 계산
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤"],
"국어": [88, 92, 75, 95, 81],
"수학": [91, 85, 80, 90, 88],
"영어": [84, 96, 78, 93, 86]
})
df["총점"] = df["국어"] + df["수학"] + df["영어"]
result = df.sort_values("총점", ascending=False)
print(result)
이름 국어 수학 영어 총점
3 하은 95 90 93 278
1 서연 92 85 96 273
0 민준 88 91 84 263
4 도윤 81 88 86 255
2 지후 75 80 78 233
국어, 수학, 영어 점수를 합산해 총점 열을 만들고 총점이 높은 학생부터 정렬합니다.
이 코드의 실행 결과와 정렬 원리를 가장 정확하게 설명한 것은?
상세 풀이: 국어, 수학, 영어 점수를 합산해 총점 열을 만들고 총점이 높은 학생부터 정렬합니다.
2. 2. 상품 가격 오름차순 정렬
핵심 개념: sort_values(), 가격 비교
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"상품": ["노트", "볼펜", "파일", "형광펜", "스티커"],
"가격": [2500, 900, 1800, 1200, 3000],
"재고": [30, 80, 45, 60, 20]
})
result = df.sort_values("가격")
print(result)
상품 가격 재고
1 볼펜 900 80
3 형광펜 1200 60
2 파일 1800 45
0 노트 2500 30
4 스티커 3000 20
가격이 낮은 상품부터 오름차순으로 정렬합니다.
result = df.sort_values('가격')의 의미로 옳은 것은?
상세 풀이: 가격이 낮은 상품부터 오름차순으로 정렬합니다.
3. 3. 병원 예약 시간 순서 정렬
핵심 개념: 문자열 시간 정렬, 예약표
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"환자": ["김철수", "이영희", "박민수", "최서아"],
"진료과": ["내과", "치과", "안과", "피부과"],
"예약시간": ["14:30", "09:20", "11:00", "10:10"]
})
result = df.sort_values("예약시간")
print(result)
환자 진료과 예약시간
1 이영희 치과 09:20
3 최서아 피부과 10:10
2 박민수 안과 11:00
0 김철수 내과 14:30
HH:MM 형식은 문자열이어도 시간 순서대로 정렬될 수 있습니다.
예약시간을 문자열로 정렬했는데도 순서가 맞는 이유로 가장 적절한 것은?
상세 풀이: HH:MM 형식은 문자열이어도 시간 순서대로 정렬될 수 있습니다.
4. 4. 도서 대출 횟수 기준 인기 도서 정렬
핵심 개념: 내림차순 정렬, 상위 인기 항목
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"도서명": ["수학의 정석", "어린 왕자", "파이썬 입문", "과학 콘서트", "한국사 이야기"],
"분야": ["수학", "문학", "코딩", "과학", "역사"],
"대출횟수": [42, 85, 73, 55, 60]
})
result = df.sort_values("대출횟수", ascending=False)
print(result)
도서명 분야 대출횟수
1 어린 왕자 문학 85
2 파이썬 입문 코딩 73
4 한국사 이야기 역사 60
3 과학 콘서트 과학 55
0 수학의 정석 수학 42
대출횟수가 많은 책부터 정렬하여 인기 도서를 확인합니다.
출력 결과의 첫 행에 대한 설명으로 옳은 것은?
상세 풀이: 대출횟수가 많은 책부터 정렬하여 인기 도서를 확인합니다.
5. 5. 음식 칼로리 낮은 순 정렬
핵심 개념: 건강 데이터, 오름차순 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"음식": ["김밥", "라면", "샐러드", "비빔밥", "떡볶이"],
"칼로리": [420, 510, 180, 650, 480],
"단백질": [12, 10, 8, 20, 9]
})
result = df.sort_values("칼로리", ascending=True)
print(result)
음식 칼로리 단백질
2 샐러드 180 8
0 김밥 420 12
4 떡볶이 480 9
1 라면 510 10
3 비빔밥 650 20
칼로리가 낮은 음식부터 정렬합니다.
이 코드가 식단 관리에 유용한 이유로 가장 적절한 것은?
상세 풀이: 칼로리가 낮은 음식부터 정렬합니다.
6. 6. 버스 도착 예정 시간 정렬
핵심 개념: 교통 데이터, 분 단위 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"버스번호": ["101", "165", "72", "5001", "3-1"],
"정류장": ["전북대", "전주역", "객사", "한옥마을", "시청"],
"도착예정분": [12, 5, 18, 3, 9]
})
result = df.sort_values("도착예정분")
print(result)
버스번호 정류장 도착예정분
3 5001 한옥마을 3
1 165 전주역 5
4 3-1 시청 9
0 101 전북대 12
2 72 객사 18
가장 빨리 도착하는 버스부터 정렬합니다.
실시간 버스 앱에서 이 코드와 가장 관련 깊은 기능은?
상세 풀이: 가장 빨리 도착하는 버스부터 정렬합니다.
7. 7. 미세먼지 농도 높은 순 정렬
핵심 개념: 환경 데이터, 위험도 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"지역": ["서울", "전주", "부산", "대구", "광주"],
"미세먼지": [42, 35, 29, 50, 38],
"초미세먼지": [21, 18, 15, 27, 20]
})
result = df.sort_values("미세먼지", ascending=False)
print(result)
지역 미세먼지 초미세먼지
3 대구 50 27
0 서울 42 21
4 광주 38 20
1 전주 35 18
2 부산 29 15
미세먼지 농도가 높은 지역부터 정렬합니다.
주의가 필요한 지역을 빠르게 찾기 위해 ascending=False를 사용한 이유는?
상세 풀이: 미세먼지 농도가 높은 지역부터 정렬합니다.
8. 8. 두 조건 정렬: 학급과 점수
핵심 개념: 여러 열 정렬, ascending 리스트
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"학급": ["1반", "2반", "1반", "2반", "1반", "2반"],
"이름": ["민준", "서연", "지후", "하은", "도윤", "유나"],
"점수": [88, 95, 92, 85, 92, 95]
})
result = df.sort_values(["학급", "점수"], ascending=[True, False])
print(result)
학급 이름 점수
2 1반 지후 92
4 1반 도윤 92
0 1반 민준 88
1 2반 서연 95
5 2반 유나 95
3 2반 하은 85
먼저 학급 오름차순, 같은 학급 안에서는 점수 내림차순으로 정렬합니다.
ascending=[True, False]의 의미로 옳은 것은?
상세 풀이: 먼저 학급 오름차순, 같은 학급 안에서는 점수 내림차순으로 정렬합니다.
9. 9. 날짜 기준 지출 내역 정렬
핵심 개념: 날짜 변환, sort_values()
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"날짜": ["2026-05-03", "2026-05-01", "2026-05-04", "2026-05-02"],
"항목": ["간식", "교통", "도서", "문구"],
"금액": [8000, 3000, 15000, 5000]
})
df["날짜"] = pd.to_datetime(df["날짜"])
result = df.sort_values("날짜")
print(result)
날짜 항목 금액
1 2026-05-01 교통 3000
3 2026-05-02 문구 5000
0 2026-05-03 간식 8000
2 2026-05-04 도서 15000
날짜 문자열을 datetime으로 변환한 뒤 날짜 순서대로 정렬합니다.
pd.to_datetime(df['날짜'])를 사용하는 가장 중요한 이유는?
상세 풀이: 날짜 문자열을 datetime으로 변환한 뒤 날짜 순서대로 정렬합니다.
10. 10. 결측치가 있는 성적 정렬
핵심 개념: na_position, 결측치 정렬 위치
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤"],
"과제점수": [90, None, 75, 88, None]
})
result = df.sort_values("과제점수", ascending=False, na_position="last")
print(result)
이름 과제점수
0 민준 90.0
3 하은 88.0
2 지후 75.0
1 서연 NaN
4 도윤 NaN
결측치가 있는 과제점수를 정렬하면서 NaN을 마지막에 배치합니다.
na_position='last'가 필요한 상황으로 가장 적절한 것은?
상세 풀이: 결측치가 있는 과제점수를 정렬하면서 NaN을 마지막에 배치합니다.
11. 1. 점수 90점 이상 학생 찾기
핵심 개념: 조건 필터링, Boolean indexing
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤"],
"점수": [88, 95, 72, 91, 84],
"반": ["1반", "1반", "2반", "2반", "1반"]
})
result = df[df["점수"] >= 90]
print(result)
이름 점수 반
1 서연 95 1반
3 하은 91 2반
점수가 90점 이상인 행만 필터링합니다.
df[df['점수'] >= 90]에 대한 설명으로 옳은 것은?
상세 풀이: 점수가 90점 이상인 행만 필터링합니다.
12. 2. 특정 지역 날씨 데이터 찾기
핵심 개념: 문자열 일치 조건
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"지역": ["서울", "전주", "부산", "대구", "광주"],
"기온": [21, 24, 22, 25, 23],
"강수확률": [20, 40, 30, 10, 35]
})
result = df[df["지역"] == "전주"]
print(result)
지역 기온 강수확률
1 전주 24 40
지역 열에서 값이 전주인 행만 찾습니다.
이 코드의 탐색 조건으로 옳은 것은?
상세 풀이: 지역 열에서 값이 전주인 행만 찾습니다.
13. 3. 상품명에 특정 글자 포함 검색
핵심 개념: str.contains(), na=False
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"상품": ["사과주스", "바나나우유", "포도젤리", None, "딸기라떼"],
"가격": [1800, 1500, 1200, 900, 2500]
})
result = df[df["상품"].str.contains("나", na=False)]
print(result)
상품 가격
1 바나나우유 1500
문자열에 '나'가 포함된 상품을 찾습니다. na=False로 None을 안전하게 처리합니다.
str.contains('나', na=False)에서 na=False의 역할로 옳은 것은?
상세 풀이: 문자열에 '나'가 포함된 상품을 찾습니다. na=False로 None을 안전하게 처리합니다.
14. 4. 여러 조건으로 건강 데이터 탐색
핵심 개념: AND 조건, 괄호 사용
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤"],
"걸음수": [6500, 12000, 8500, 15000, 4000],
"수면시간": [6.5, 7.5, 5.5, 8.0, 6.0]
})
result = df[(df["걸음수"] >= 8000) & (df["수면시간"] >= 7)]
print(result)
이름 걸음수 수면시간
1 서연 12000 7.5
3 하은 15000 8.0
걸음수 8000 이상이면서 수면시간 7시간 이상인 사람을 찾습니다.
여러 조건을 &로 연결할 때 괄호가 필요한 이유는?
상세 풀이: 걸음수 8000 이상이면서 수면시간 7시간 이상인 사람을 찾습니다.
15. 5. 특정 범위 가격 상품 찾기
핵심 개념: between(), 범위 탐색
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"상품": ["노트", "가방", "필통", "이어폰", "USB"],
"가격": [2500, 35000, 8000, 29000, 15000]
})
result = df[df["가격"].between(5000, 30000)]
print(result)
상품 가격
2 필통 8000
3 이어폰 29000
4 USB 15000
가격이 5000원 이상 30000원 이하인 상품만 찾습니다.
between(5000, 30000)의 의미로 옳은 것은?
상세 풀이: 가격이 5000원 이상 30000원 이하인 상품만 찾습니다.
16. 6. 결측치가 있는 행 찾기
핵심 개념: isna(), 결측치 탐색
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은"],
"이메일": ["min@example.com", None, "ji@example.com", None],
"연락처": ["010-1111", "010-2222", None, "010-4444"]
})
result = df[df["이메일"].isna() | df["연락처"].isna()]
print(result)
이름 이메일 연락처
1 서연 None 010-2222
2 지후 ji@example.com None
3 하은 None 010-4444
이메일 또는 연락처가 비어 있는 행을 찾습니다.
조건에서 | 연산자를 사용한 이유로 옳은 것은?
상세 풀이: 이메일 또는 연락처가 비어 있는 행을 찾습니다.
17. 7. 인기 동영상 조회수 상위 조건 탐색
핵심 개념: 조건 필터링, 조회수
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"제목": ["과학실험", "수학풀이", "코딩입문", "역사이야기", "영어회화"],
"조회수": [1200, 850, 3200, 600, 2500],
"좋아요": [150, 90, 410, 45, 300]
})
result = df[df["조회수"] >= 2000]
print(result)
제목 조회수 좋아요
2 코딩입문 3200 410
4 영어회화 2500 300
조회수가 2000 이상인 동영상을 찾습니다.
출력 결과에 포함되는 동영상으로 옳은 것은?
상세 풀이: 조회수가 2000 이상인 동영상을 찾습니다.
18. 8. isin으로 여러 값 한 번에 찾기
핵심 개념: isin(), 다중 값 탐색
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"학생": ["민준", "서연", "지후", "하은", "도윤"],
"동아리": ["코딩", "과학", "축구", "코딩", "밴드"],
"학년": [1, 2, 1, 3, 2]
})
result = df[df["동아리"].isin(["코딩", "과학"])]
print(result)
학생 동아리 학년
0 민준 코딩 1
1 서연 과학 2
3 하은 코딩 3
동아리가 코딩 또는 과학인 학생을 찾습니다.
isin(['코딩','과학'])의 장점으로 옳은 것은?
상세 풀이: 동아리가 코딩 또는 과학인 학생을 찾습니다.
19. 9. query를 이용한 간결한 조건 탐색
핵심 개념: query(), 조건식 문자열
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"지역": ["서울", "전주", "부산", "대구"],
"기온": [21, 24, 22, 26],
"습도": [60, 70, 75, 55]
})
result = df.query("기온 >= 23 and 습도 >= 60")
print(result)
지역 기온 습도
1 전주 24 70
query()는 조건을 문자열로 작성해 데이터를 탐색합니다.
query('기온 >= 23 and 습도 >= 60')의 결과로 전주만 남는 이유는?
상세 풀이: query()는 조건을 문자열로 작성해 데이터를 탐색합니다.
20. 10. 특정 열만 선택해서 결과 보기
핵심 개념: loc, 조건 + 열 선택
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤"],
"점수": [88, 95, 72, 91, 84],
"출석률": [98, 100, 85, 96, 92]
})
result = df.loc[df["점수"] >= 90, ["이름", "점수"]]
print(result)
이름 점수
1 서연 95
3 하은 91
조건을 만족하는 행 중 이름과 점수 열만 선택합니다.
loc 사용의 핵심 장점으로 가장 적절한 것은?
상세 풀이: 조건을 만족하는 행 중 이름과 점수 열만 선택합니다.
21. 1. 90점 이상 학생을 점수 높은 순으로 정렬
핵심 개념: 필터링 후 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤", "유나"],
"점수": [88, 95, 72, 91, 84, 98],
"반": ["1반", "1반", "2반", "2반", "1반", "2반"]
})
filtered = df[df["점수"] >= 90]
result = filtered.sort_values("점수", ascending=False)
print(result)
이름 점수 반
5 유나 98 2반
1 서연 95 1반
3 하은 91 2반
먼저 90점 이상 학생만 탐색하고, 그 결과를 점수 높은 순으로 정렬합니다.
이 코드의 처리 순서로 옳은 것은?
상세 풀이: 먼저 90점 이상 학생만 탐색하고, 그 결과를 점수 높은 순으로 정렬합니다.
22. 2. 3만원 이하 상품을 가격 낮은 순으로 정렬
핵심 개념: between() + sort_values()
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"상품": ["노트북가방", "필통", "이어폰", "USB", "마우스"],
"가격": [42000, 8000, 29000, 15000, 26000],
"재고": [10, 30, 15, 50, 20]
})
filtered = df[df["가격"].between(5000, 30000)]
result = filtered.sort_values("가격")
print(result)
상품 가격 재고
1 필통 8000 30
3 USB 15000 50
4 마우스 26000 20
2 이어폰 29000 15
가격 범위 조건으로 상품을 찾은 뒤 가격 오름차순으로 정렬합니다.
이 코드 결과에서 노트북가방이 제외되는 이유는?
상세 풀이: 가격 범위 조건으로 상품을 찾은 뒤 가격 오름차순으로 정렬합니다.
23. 3. 미세먼지 35 이상 지역을 높은 순으로 정렬
핵심 개념: 환경 데이터 탐색 + 위험도 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"지역": ["서울", "전주", "부산", "대구", "광주", "인천"],
"미세먼지": [42, 35, 29, 50, 38, 45],
"초미세먼지": [21, 18, 15, 27, 20, 25]
})
filtered = df[df["미세먼지"] >= 35]
result = filtered.sort_values("미세먼지", ascending=False)
print(result)
지역 미세먼지 초미세먼지
3 대구 50 27
5 인천 45 25
0 서울 42 21
4 광주 38 20
1 전주 35 18
주의가 필요한 지역만 먼저 찾고, 그중 미세먼지가 높은 지역부터 정렬합니다.
출력 결과에서 부산이 제외되는 이유는?
상세 풀이: 주의가 필요한 지역만 먼저 찾고, 그중 미세먼지가 높은 지역부터 정렬합니다.
24. 4. 코딩 동아리 학생을 학년순·이름순 정렬
핵심 개념: 조건 + 다중 열 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"학생": ["민준", "서연", "지후", "하은", "도윤", "유나"],
"동아리": ["코딩", "과학", "코딩", "코딩", "밴드", "코딩"],
"학년": [2, 1, 1, 3, 2, 1]
})
filtered = df[df["동아리"] == "코딩"]
result = filtered.sort_values(["학년", "학생"])
print(result)
학생 동아리 학년
5 유나 코딩 1
2 지후 코딩 1
0 민준 코딩 2
3 하은 코딩 3
코딩 동아리 학생만 찾은 뒤 학년, 학생 이름 순으로 정렬합니다.
sort_values(['학년','학생'])의 정렬 기준으로 옳은 것은?
상세 풀이: 코딩 동아리 학생만 찾은 뒤 학년, 학생 이름 순으로 정렬합니다.
25. 5. 결측치 없는 회원만 최근 가입순 정렬
핵심 개념: notna(), 날짜 변환, 정렬
import pandas as pd
# Pandas 출력에서 한글/열 너비가 잘 보이도록 설정
pd.set_option("display.unicode.east_asian_width", True)
pd.set_option("display.width", 120)
pd.set_option("display.max_columns", 20)
df = pd.DataFrame({
"이름": ["민준", "서연", "지후", "하은", "도윤"],
"이메일": ["min@example.com", None, "ji@example.com", "ha@example.com", None],
"가입일": ["2026-05-01", "2026-05-03", "2026-04-28", "2026-05-05", "2026-05-02"]
})
df["가입일"] = pd.to_datetime(df["가입일"])
filtered = df[df["이메일"].notna()]
result = filtered.sort_values("가입일", ascending=False)
print(result)
이름 이메일 가입일
3 하은 ha@example.com 2026-05-05
0 민준 min@example.com 2026-05-01
2 지후 ji@example.com 2026-04-28
이메일이 있는 정상 회원만 탐색하고, 가입일이 최근인 순으로 정렬합니다.
이 코드에 대한 설명으로 가장 적절한 것은?
상세 풀이: 이메일이 있는 정상 회원만 탐색하고, 가입일이 최근인 순으로 정렬합니다.