데이터프레임 조건에 맞는 행 index 뽑아오기 - index데이터 프레임에서 조건에 맞는 행의 index를 뽑아오는 방법은 바로 .index를 붙이면 된다. 바로 전 글에서 isin을 사용해서 데이터 프레임에서 값으로 행을 추출하는 방법에 대해 설명했는데 2022.05.30 - [self.python] - [python] 데이터프레임 조건에 맞는 행 index 뽑아오기 그 바로 뒤에 .index를 붙이면 그 조건을 만족하는 행의 인덱스를 알 수 있다. 보통 이렇게 쓰는 경우는 그 조건에 부합하는 행을 삭제하기 위해서 사용하는 경우가 많은 것 같다. isin() 을 사용해서 조건에 맞는 행을 뽑아내고 바로 drop을 하면 에러가 나게 된다. drop함수 안에는 index를 써야 제대로 drop이 된다. 1. 데이터 프레임 준비
이전에 사용했던 데이터 프레임을 재활용 하는 것이다. 임의의 데이터 프레임 df는 2016 ~ 2022년도 각 학생의 점수를 나타낸 것이라 하자. 2. 원하는 조건 뽑아내기isin() 함수로 원하는 조건의 행을 뽑을 수 있다. 예를들어 Mary 라는 학생이 68점, 70점 맞았을 때의 행을 가져온다고 하자. 물론, isin 말고도 여러 방법이 있다.
조건에 맞는 행이 나왔다. 3. 지우기여기서 이 행들을 지우고 싶은데, 바로 drop을 쓴다면 ?
``` 이렇게 err가 발생한다.
이렇게 index로 지워주면(1, 2, 5번 인덱스) 해당 행이 모두 지워진 것을 볼 수 있다. 지워진 index를 빼고 index를 초기화 하고 싶다면?
저번 글 처럼 reset_index(drop = True) 를 써주면 된다. 총 정리
* 참고
둘 다 같은 결과를 출력하는 방식입니다.
문자열에서도 동일하게 사용할 수 있습니다. 또한 index 함수는 배열에서 값의 위치를 찾아주는 함수리며, 중복된 값이 있으면 가장 최소의 위치를 리턴 a 리스트에서 10의 위치 찾기. (최소값인 1이 출력)
a 리스트에서 2번째 ~ 9번째 위치에서 10의 위치 찾기. (최소값인 7이 출력)
a 문자열에 '1' 이라는 문자 위치 찾기
a 문자열에 1번째 ~ 6번째 위치에서 '1' 이라는 문자 위치 찾기 |