작성
·
169
0
안녕하세요 강사님.
강사님의 파이썬 머신러닝 완벽 가이드의 pandas 부분을 공부하고 있습니다.
공부를 하던 중 궁금한 부분이 생겨 질문 드립니다.
print('명칭기반 loc slicing\n', data_df.loc['one' : 'two', 'Name']) 문을 실행하면
one chulmin
two Eunkyung
이 출력되는데 'one' : 'two'이면 'one' 부분에 해당하는 것만 출력되어야 하는 것 아닌가요?
list에서 print(x[1:2])면 x[1] 값만 출력되는 것 처럼요.
항상 좋은 강의 감사드립니다.
답변 1
1
안녕하십니까,
명칭기반 인덱싱의 연속 연산자 : 시에는 위치 지정과 다르게 작용합니다.
위치 지정의 경우 2:3 이면 2부터 3-1 까지 인덱싱 할 수 있습니다.
하지만 명칭 기반은 -1을 할 수가 없습니다. 명칭 기반의 연속 연산자 : 는 한개가 적은, 또는 마지막 원소 바로 앞이라는 개념을 적용하기가 어렵습니다. 이름으로 가져 오기 때문에 마지막 원소라는 개념을 규정하기가 어렵기 때문입니다. 즉 one:two 일 때 two 바로 앞에 뭐가 있는지 물리적인 메모리 상에 있는 데이터를 적용하지 않기 때문에 one:two 라면 one 부터 two까지 다 가져 오게 됩니다.
감사합니다.
감사합니다!