자격증/DATA
[빅분기] 실기 1유형- loc와 iloc 실습해보기!
hhpp
2024. 11. 27. 17:07
오늘은 앞서 배운 loc와 iloc 관련 문제를 실습을 해보자!!
우선 문제가 어렵지 않으니 어서어서 해보자!!
0. 전제
jupyter notebook이 실행된 위치 내 data폴더가 있고, 그 안에 iris.csv 파일이 존재함
Q) 행이 5 이상 10 미만이고, 컬럼이 sepal_width, petal_width, variety인 데이터 추출하기
import pandas as pd
df = pd.read_csv('data/iris.csv')
# loc에서 행 범위는 마지막 값을 포함한다는 걸 잊지 말자!
df.loc[5:9,['sepal_width', 'petal_width','variety']]
Q) 'petal_width'<0.2 인 데이터들 가운데 'sepal_length', 'variety'를 추출하시오
import pandas as pd
df = pd.read_csv('data/iris.csv')
df.loc[df['petal_width'] < 0.2, ['sepal_length', 'variety']]
Q) 'veriety' = 'Setosa' 이며, 'sepal_length' > 5.5인 데이터를 추출하시오
import pandas as pd
df = pd.read_csv('data/iris.csv')
# 2개의 조건을 &로 처리
df.loc[(df['variety'] == 'Setosa') & (df['sepal_length'] > 5.5)] # 열은 아예 안적어도 가능
50개의 Setosa 데이터 중, sepal_length가 5.5 초과인 데이터는 14, 15, 18행 3개가 전부이다.
Q) 'variety' == 'Setosa' 일때, 'sepal_length', 'petal_length', 'variety' 데이터를 추출하시오
# 이는 거의 2번문제
# 'petal_width' < 0.2 이고, 컬럼이 'sepal_length', 'variety인 데이터를 추출하세요.'
# 이것과 동일하다
import pandas as pd
df = pd.read_csv('data/iris.csv')
df.loc[df['variety']== 'Setosa', ['sepal_length', 'petal_length', 'variety']]
Q) 행이 10이상 14미만, 컬럼이 0이상 3미만인 데이터를 추출하시오
# 이건 숫자로만 조건을 준 걸 보아서 iloc를 써야겠다고 생각해야한다.
import pandas as pd
df = pd.read_csv('data/iris.csv')
# loc와 달리, iloc는 python처럼 범위의 마지막 값을 포함하지 않는다!
df.iloc[10:14,0:3]
Q) 0이상 10미만 행, 컬럼은 1,2, 4 인 데이터를 추출하시오
# 숫자로만 주어진 iloc!!
import pandas as pd
df = pd.read_csv('data/iris.csv')
# 특정 위치가 필요할땐, 리스트 형태로 원하는 것만 넣어버리자!
df.iloc[0:10,[1,2,4]]
이정도로 loc와 iloc를 사용할 줄 안다면,
다 된게 아닐까?? 하하하
반응형