반응형
다음과 같이 구조화 된 데이터 프레임이 있다고 가정합니다.
df = pd.DataFrame({"A":['a','a','a','b','b'],
"B":[1]*5})
A
열은 이전에 정렬되었습니다. df [df.A! = 'a']
의 첫 번째 행 인덱스를 찾고 싶습니다. 최종 목표는이 인덱스를 사용하여 데이터 프레임을 A
를 기반으로 그룹으로 나누는 것입니다.
이제 groupby 기능이 있다는 것을 깨달았습니다. 그러나 데이터 프레임은 상당히 크고 이것은 간단한 장난감 예제입니다. A
는 이미 정렬되었으므로 df.A! = 'a'
의 첫 번째 색인 만 찾을 수 있다면 더 빠를 것입니다. . 따라서 어떤 방법을 사용하든 첫 번째 요소가 발견되면 검색이 중지 하는 것이 중요합니다.
해결 방법
df.A.ne ( 'a')
에서 idxmax
사용
df.A.ne('a').idxmax()
3
또는 numpy
에 해당하는
(df.A.values != 'a').argmax()
3
df.A.searchsorted('a', side='right')
array([3])
또는 numpy
에 해당하는
df.A.values.searchsorted('a', side='right')
3
참조 페이지 https://stackoverflow.com/questions/41255215
반응형
'파이썬' 카테고리의 다른 글
파이썬 Pandas read_csv에서 구분 기호 사용자 정의 (0) | 2020.10.25 |
---|---|
파이썬 Python unsubscriptable (0) | 2020.10.25 |
파이썬 JSONDecodeError : ','구분 기호 예상 : 줄 1 열 43 (문자 42) (0) | 2020.10.25 |
파이썬 Django 양식의 읽기 전용 필드 (0) | 2020.10.25 |
파이썬 Python 프로그램의 간단한 UI에서 실시간 그래프를 어떻게 표시합니까? (0) | 2020.10.25 |
댓글