2
모든 열의 특이점 대체 I는 예팬더 : 유모
c1,c2,c3
10000,1,2
1,3,4
2,5,6
3,1,122
4,3,4
5,5,6
6,155,6
I 밖에 2 시그마 모든 컬럼에서 특이점을 바꾸려 3 열이 데이터 프레임을 가지고있다. 아래 코드를 사용하면 이상 치가없는 데이터 프레임을 만들 수 있습니다.
df[df.apply(lambda x: np.abs(x - x.mean())/x.std() < 2).all(axis=1)]
c1,c2,c3
1,3,4
2,5,6
4,3,4
5,5,6
I 별도로 각 열에 대한 이상 값을 찾을 수 있습니다와 "유모"으로 대체하지만 열 수와 코드 증가의 행의 수와 가장 좋은 방법은 없을 것이다. 이렇게하는 더 좋은 방법이 있어야합니다. 행에 대해 위의 명령에서 부울 출력을 가져온 다음 "TRUE"를 "nan"으로 바꿀 수 있습니다.
모든 의견, 많은 감사.
당신은 당신의 문제가 무엇인지 정확히 설명 할 수 있습니까? Btw 당신은 적용을 제거 할 수 있습니다 -'df [df.sub (df.mean()). abs() .dif (df.std()). lt (2) .all (1)]' –
싶어요. "나노"가있는 데이터 프레임에서 모든 아웃 라이어 (2 시그마 범위를 벗어남)를 대체합니다. 외부 적용 기능을 사용하면 각 열에 대해 별도로 수행해야합니다. – Sridhar