Python/Python 기초문법

Python - Pandas iloc와 loc의 차이

GinaKim 2024. 1. 4. 23:38
728x90

1. iloc

데이터 프레임의 행 또는 칼럼의 인덱스 값으로 데이터 추출

data.iloc[행 인덱싱 위치, 칼럼 인덱싱 위치]

loc와 달리 조건식 사용이 불가능

첫번째 행 출력

df_KTX.iloc[0]

 

두번째 열 출력

df_KTX.iloc[:,1]

 

범위 지정하여 출력

df_KTX.iloc[1:3,0:2]

 

2. loc

데이터 프레임의 행 또는 칼럼의 라벨(이름)로 데이터 추출

data.loc[행 이름, 열 이름]

첫번째 행 출력

df_KTX.loc['2011',:]

 

두번째 열 출력

df_KTX.loc[:,'호남선 KTX']

 

두개 이상의 열 추출할 때

df_KTX.loc['2013':'2016', ['경부선 KTX', '호남선 KTX']]

 

조건식 활용

데이터 불러오기

import seaborn as sns # 시각화 라이브러리(통계 시각화)
titanic = sns.load_dataset('titanic')
titanic.head()

 

embark_town 칼럼에서 Southampton 거주민의 모든 데이터를 조회

titanic.loc[titanic['embark_town'] == 'Southampton', :]

 

age 평균 구하고, 평균 이상인 데이터만 조회하기

titanic['age'].mean()
---------------------------
# result
29.69911764705882
tatanic.loc[titanic['age'] >= titanic['age'].mean(), :]

 

다중조건

and 조건일 경우 &, or 조건일 경우 |

data.loc[(조건1) &	
	 (조건2) |
     (조건3),
     
:]

 

데이터 불러오기

import seaborn as sns
tips = sns.load_dataset('tips')
tips.head()

 

tip의 평균보다 크면서, time이 Dinner인 데이터만 조회

tips.loc[(tips['tip'] > tips['tip'].mean())&
	(tips['time'] == 'Dinner'),
:]

728x90