인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

몽하's profile image
몽하

asked

[After-work activities] Big Data Analysis Engineer Practical (Work-type 1,2,3)

Example Problem Type 2 (New Version)

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

Resolved

Written on

·

245

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나오덴데.. 그냥 인덱싱하면 행을 나타내진 않나요?

python머신러닝빅데이터pandas빅데이터분석기사

Answer 1

0

roadmap님의 프로필 이미지
roadmap
Instructor

  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값이었을 것 같네요!

몽하's profile image
몽하

asked

Ask a question