inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

df.iloc를 사용시 범위 설정문의

80

jhkim

작성한 질문수 5

0

안녕하세요

6회 기출문제 3번을 풀다가 궁금한점이 생겨서 문의 드립니다.

아래와 같은 데이터가 있을 때 '날짜'와 '경찰서 명'은 object 입니다.

image.png

위 데이터에서 '강력범죄' 부터 '교통범죄'까지 데이터를 행으로 총합을 구할 시에 아래와 같이 iloc를 설정을 한다고 풀이와 강의에 나와있습니다.

df['총범죄건수'] = df.iloc[:, 1 : -1].sum(axis =1)

여기에서 iloc 에서 '-1' 이라고 설정하는 것은 제일 끝 열까지 설정하는 것이 아닌지요?

그러면 '경찰서명'까지 선택이 되어야하는데 로그를 찍어보면 '강력범죄'~'교통범죄'까지 나오는 것을 확인할 수있습니다.

 

강의에서는 iloc는 0부터 세기 때문에 바로 전까지 값의 열이 선택된다고 알려주셨고, -1로 하면 끝의 열을 나타내는 것이고 -2를 하면 끝열 바로 전 열을 선택하는 것이라고 알려주셔서 알고있습니다.

그런데 위에 데이터에서는 왜 -1을 해도 '경찰서명'까지가 안나오는 것인지 문의드립니다.

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

답변 2

0

퇴근후딴짓

iloc[시작 인덱스 번호:마지막 인덱스 번호]

iloc 마지막 인덱스 번호는 나타내지 않습니다. 따라서 -1은 마지막 인덱스 이고 이에 경찰서 명을 제외한 후 나타납니다:)

만약 시험에서 헷갈린다면

무조건 print()으로 출력해서 눈으로 체크한 후 sum()을 실행해 주세요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

iloc를 사용할 때 -1은 마지막 열을 나타내지 않습니다. iloc의 슬라이싱에서 범위 지정은 파이썬의 표준 슬라이싱 규칙을 따르기 때문에, 끝 인덱스는 포함되지 않습니다. 따라서 df.iloc[:, 1:-1]는 두 번째 열부터 마지막 열 바로 전까지를 선택하는 것입니다. 이 설명은 귀하가 이해하신 것과 일치합니다.

즉, -1을 사용하면 끝의 열 바로 전까지 선택되며, 따라서 ‘경찰서명’ 열은 선택되지 않습니다. 이 때문에 ‘강력범죄’부터 ‘교통범죄’까지의 데이터만 선택되어 합이 계산되는 것입니다.

Pandas의 iloc는 인덱스와 슬라이싱에 매우 유용하지만, 금방 혼동되기 쉬운 부분도 많습니다. 이 규칙을 숙지하면 더욱 원활하게 다루실 수 있을 것입니다.

아래와 같은 질문이 유사한 문제점을 다루고 있어, 한번 확인해 보시는 것도 도움될 것 같습니다:
- iloc

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

수강 연장 문의드립니다.

0

20

2

강의 연장 문의

0

29

2

수강 신청 연장 문의드립니다.

0

40

2

작업형 1번문제... 환경관련

0

30

2

12회 기출은 언제 업데이트 될까요??

0

38

2

8/6 작성한 연장문의 질문글에 대한 재요청

0

38

2

수강기간 연장 문의

0

40

2

수강기간 연장문의

0

37

2

수강기간 연장 요청 문의드립니다

0

38

2

수강 기간 연장 문의

0

47

2

수강연장 가능 문의 (기간 약 한달반)

0

60

2

수강기간 연장 가능할까요 선생님

0

74

2

Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.

0

56

3

수강연장요청 문의

0

90

2

아무래도 다음 시험 연장은 어렵겠죠?

0

109

2

빅분기 12회 결과 관련 문의

0

112

1

책이랑 강의랑 순서나 예제가 다른것 같네요

0

81

2

수강연장 문의

0

106

2

재검토 요청 방법 좀 알려주셔요...-.-;;

0

106

2

12회 실기 질문(작업형 2)

0

92

2

뒤로가기 버튼 같은 것이 있나요?

0

66

1

강의 연장 문의

0

99

2

출력값 질문

0

73

2

수업노트가 어디에 있나요?

0

63

1