0
필자는 시작 값이 다음과 같은 기준을 충족시키는 열 (Col1
)의 연속 팬더 데이터 프레임 행에서 충족되는 최소 기준 (0.6)을 확인하고자하는 시나리오가 있습니다. 최소 (0.7) 즉 : 값이 적어도 0.7 인 경우, 또는 다른 말로팬더 여러 최소 연속 기준을 확인하십시오.
Col1
0.3
0.5
0.55
0.8 = true
0.65 = true
0.9 = true
0.61 = true
0.3
0.6
0.67
0.74 = true
0.63 = true
0.61 = true
는 검사가 True
될 것이라고 값이 적어도 0.6이고 이전 값은 첫번째로 적어도 0.6 인 경우 연속 시리즈의 값은 적어도 0.7입니다.
매우 큰 데이터 집합에서 실행되므로 효율적이어야합니다. 나는 shift()
으로 뭔가를 생각하고 있습니다 ...하지만 그걸 제대로 이해할 수는 없습니다.
매우 똑똑! 고맙습니다! – cwse
'check'라는 새 열을 만들지 않고 col1의 선택 기준으로이 확인 논리를 어떻게 사용할 수 있습니까? 나는. df.col1.loc (... 귀하의 수락 기준을 충족합니다 ...). 가능하다면 .loc()을 사용하고 싶습니다. – cwse
하위 집합을 위해'df.Col1 [df.check]'를 수행 한 다음, 확인 열을 삭제할 수 있습니다. 어떤 이유로 새로운 컬럼을 생성하고 싶지 않다면,'s = pd.Series ([np.nan] * df.shape [0], index = df.index); df.Col1.loc [d.Col1 <0.7, True) .where (df.Col1> 0.6, False) .ffill(). fillna (False) .astype (bool)]' – Psidom