.iloc[row, column] : 인덱스 번호로 선택하기행 번호(row)와 열 번호(column)을 통해 특정 행과 열 데이터 선택 가능
# 기본 구조: 특정 행 불러오기 - 슬라이싱 활용
data.iloc[start : end : step]
# 예시 - 첫 번째 행만 불러오기
data.iloc[0]
# 기본 구조: 특정 행과 열 불러오기
data.iloc[row, column]
# 예시 - 첫 번째부터 두 번째 컬럼, 첫 번째 행만 불러오기
df.iloc[0, 0:2]
.loc[row, column] : 이름으로 선택하기인덱스가 번호가 아니고 특정 문자인 경우
# 기본 구조
data.loc['row_name':'column_name']
# 샘플 데이터 프레임 생성
data = {
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd', 'e'])
# loc을 사용하여 특정 행과 열 선택
# 레이블 'b'부터 'd'까지의 행 + 'A'부터 'B'까지의 열 선택
# (★ 중요) loc에서 슬라이싱 할 때는 end에 기재된 값까지 포함!!
df.loc['b':'d', 'A':'B']
리스트 슬라이싱 활용
# loc 활용
data.loc[: , 'column_name']
# 데이터프레임['컬럼명']
data['column_name']
여러 개의 컬럼을 선택할 경우 → 리스트 활용
data[['column_name1', 'column_name2', 'column_name3']]
# 원하는 순서대로 선택할 수도 있음
data[['column_name3', 'column_name1', 'column_name2']]
리스트 형태 활용
# 2개 컬럼명 선택
data.loc['row_name', ['column_name1', 'column_name']]
# 2개 행이름 선택
data.loc[['row_name1', 'row_name2'], 'column_name']
# 리스트 슬라이싱 - ':'을 사용하여 특정 범위 지정
data.loc['row_name','column_name': ] # 컬럼 1 부터 끝 컬럼 까지 조회
True 또는 False 로 평가되며 이를 바탕으로 데이터프레임 필터링단일 조건으로 필터링: 특정 열 값을 기준으로 조건 설정 → 해당 조건을 만족하는 행 선택
# 'age' 열에서 30세 이상인 행 필터링
df[df['age']>=30]
여러 조건으로 필터링: 여러 개의 조건 조합
# 'age' 열에서 30세 이상이면서 'gender'열이 'Male'인 행 필터링
df[(df['age']>=30) & (df['gender'] == 'Male')]
조건에 따른 특정 컬럼 필터링: 조건을 만족하는 특정 열만 선택
# 'age' 열에서 30세 이상인 경우의 'name' 열만 선택
df.loc[df['age']>=30, 'name']
isin() 을 활용한 필터링: 여러 값들을 포함하는 행 선택
data[data['column_name'].isin(['value1','value2'])]
isin() 메서드