inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

iloc vs loc [작업형 1 모의문제 1번]

18

Jeehoon Kim

작성한 질문수 2

0

문제

내 해답

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p1/members.csv")
df

df['f1'] = df['f1'].fillna(df['f1'].median()) #결측치 중앙값으로 대체
df = df.dropna() #나머지 결측치가 있는 데이터(행)을 모두 제거
df = df.loc[:int(len(df) * 0.7)] #앞에서부터 70% 데이터. loc로 함 (인덱스 명 0부터 시작하는거 df로 확인)
ans1 = df['views'].quantile(.75) - df['views'].quantile(.25) #views 컬럼의 3사분위 수에서 1사분위 수를 뺀 값
print(ans1)

결과 : 3662

해답

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p1/members.csv")
# df = pd.read_csv("members.csv")

df['f1'] = df['f1'].fillna(df['f1'].median())
# print(df.isnull().sum())

# print(df.shape)
df = df.dropna()
# print(df.shape)

df = df[:int(len(df) * 0.7)]

r1 = df['views'].quantile(.75)
r2 = df['views'].quantile(.25)

print(r1 - r2)

내 코드에서 문제가 된 부분

df = df.loc[:int(len(df) * 0.7)] 

loc 대신 iloc 를 쓰면 정답과 같은 답이 나오는걸 확인했는데

문제는 해설처럼 %70 번째를 포함하려면 loc 를 쓰는게 맞는거 아닌가 해서요

iloc 는 iloc[:n] 을 하면 n-1번 인덱스 까지만 포함하는거니까요

 

 

 

 

답변 0

시큐리티 필터 설정 질문입니다!

2

51

1

오타 제보

2

42

2

실제로 작은 기업에서 기획 롤

1

27

1

배포 파이프라인 구축 후 마주하게 되는 고민들 (💻 실습)

1

31

2