본문 바로가기
Programming/python

pandas에서 주의할점. np.where과 섞어쓰지 말자

by 단창 2019. 7. 9.

만약 

df 가 위와같이 생긴 pandas 테이블이라면 

id1 = np.where(df['A']=='8c1b.....6fa')

이라고하면 id1[0] 은 [0,1,2,3 ... ] 을 담고있다. df의 첫째 행을 0으로 잡고 새로 count 한 index

id2 = df.index[df['A']=='8c1b.....6fa'].tolist()

을 하면 id2 는 [0, 406, 2412 ... ] 을 담고 있다. df 내에 포함하고 있는 index값

 

df을 loc,으로 indexing할때는 id2 기준으로 동작한다. iloc로 인덱싱하면 id1기준으로 동작.

df.loc[id1[0]]으로 해도 에러나지 않고 동작함으로 버그 발생활 확률이 높다.

 

반응형