본문 바로가기
파이썬

파이썬 pandas-첫 번째 발생 찾기

by º기록 2020. 10. 25.
반응형

다음과 같이 구조화 된 데이터 프레임이 있다고 가정합니다.

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

 

 

반응형

댓글