해결된 질문
작성
·
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
df['f1'].sort_values(ascending=False).head(12)
: 정렬된 'f1' 열의 상위 12개 값을 반환
df['f1'].sort_values(ascending=False).iloc[9]
: 정렬된 'f1' 열에서 10번째 값을 반환
(iloc
는 위치 기반 인덱싱을 사용하므로 0부터 시작).
df['f1'].sort_values(ascending=False)[9]
: 이 코드는 iloc와는 달라요 loc와 같습니다. 그래서 인덱스 이름이 9인 것을 찾는 것이고
df['f1']과 같이 컬럼을 선택했기에 행이 나오진 않습니다. 값이 나옵니다. 인덱스 0이 NaN값이었을 것 같네요!