▪︎ 조건 필터링

data = {
    '이름': ['홍길동', '김철수', '이영희', '박민수'],
    '점수': [90, 70, 95, 95],
    '반': [2, 1, 1, 2]
}
df = pd.DataFrame(data)
df
#   이름	 점수	반
# 0	홍길동	90	2
# 1	김철수	70	1
# 2	이영희	95	1
# 3	박민수	95	2
mask = df["점수"] >= 80
filtered = df[mask]
filtered
#   이름	 점수	반
# 0	홍길동	90	2
# 2	이영희	95	1
# 3	박민수	95	2

▫︎ 여러 조건의 결합

mask = (df["반"] == 1) & (df["점수"] >= 80)
df[mask]
#   이름   점수	반
# 2	이영희	95	1

mask = (df["반"] == 2) | (df["점수"] >= 90)
df[mask]
#   이름	 점수	반
# 0	홍길동	90	2
# 2	이영희	95	1
# 3	박민수	95	2

msdk = (df["이름"] == "홍길동") | (df["이름"] == "박민수")

mask = df["이름"].isin(["홍길동", "박민수"])
df[mask]
#   이름 	점수	반
# 0	홍길동	90	2
# 3	박민수	95	2

mask = ~ df["이름"].isin(["홍길동", "박민수"])
df[mask]
#   이름	 점수	반
# 1	김철수	70	1
# 2	이영희	95	1

▫︎ reset_index()

mask = (df["반"] == 2) | (df["점수"] >= 90)
df2 = df[mask]
df2
#   이름   점수	반
# 0	홍길동	90	2
# 2	이영희	95	1
# 3	박민수	95	2

df2 = df2.reset_index()
df2
# index	이름   점수	 반
# 0	0	홍길동	90	2
# 1	2	이영희	95	1
# 2	3	박민수	95	2

df2 = df2.reset_index(drop=True)
df2
#   이름   점수	반
# 0	홍길동	90	2
# 1	이영희	95	1
# 2	박민수	95	2

▪︎ 열 추가 및 수정, 삭제

df = pd.DataFrame({
    '이름': ['김철수', '이영희', '박민수'],
    '국어': [90, 80, 70],
    '영어': [85, 78, 92]
})
df
#   이름   국어	영어
# 0	김철수	90	85
# 1	이영희	80	78
# 2	박민수	70	92

▫︎ 열 추가