인프런 커뮤니티 질문&답변

몽하님의 프로필 이미지
몽하

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

예시문제 작업형2(신 버전)

컬럼에 그냥 인덱싱할 때와 iloc를 써서 인덱싱할 때 출력값이 달라요.

해결된 질문

작성

·

222

0

df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')

print(df['f1'].sort_values(ascending=False).head(12))

print(df['f1'].sort_values(ascending=False).iloc[9])

print(df['f1'].sort_values(ascending=False)[9])

 

위의 코드를 실행하면 하나는 88, 하나는 74가 나옵니다..

74는 어디서 나오는 건지 모르겠어요..

print(df['f1'].sort_values(ascending=False)[0])은 NaN나오덴데.. 그냥 인덱싱하면 행을 나타내진 않나요?

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

  1. df['f1'].sort_values(ascending=False).head(12): 정렬된 'f1' 열의 상위 12개 값을 반환

  2. df['f1'].sort_values(ascending=False).iloc[9]: 정렬된 'f1' 열에서 10번째 값을 반환
    (iloc는 위치 기반 인덱싱을 사용하므로 0부터 시작).

  3. df['f1'].sort_values(ascending=False)[9]: 이 코드는 iloc와는 달라요 loc와 같습니다. 그래서 인덱스 이름이 9인 것을 찾는 것이고

  4. df['f1']과 같이 컬럼을 선택했기에 행이 나오진 않습니다. 값이 나옵니다. 인덱스 0이 NaN값이었을 것 같네요!

몽하님의 프로필 이미지
몽하

작성한 질문수

질문하기