나는 다음과 같은 팬더가 DataFrame
있습니다DataFrame
ID COL1 COL2
123 1 ABC
123 1 CCC
123 1 AVV
345 2 FGG
345 2 FRG
345 2 FGT
:
ID COL1 COL2
123 1 ABC
123 1 CCC
123 NaN AVV
345 2 FGG
345 NaN FRG
345 NaN FGT
나는이 결과를 얻기 위해 같은 ID
에 따라 Col1
모든 NaN의 값을 대체해야 for
루프를 작성할 수는 있지만, 내 데이터 세트가 스크립트를 실행하는 데 오랜 시간이 걸립니다. 조건부 대체 함수가 있습니까?
'df.groupby ('ID') .ffill(). bfill()'이 필요한 것을 제공합니까? – Psidom
@Psidom : 그렇습니다. 고맙습니다. 유일한 문제는 1GB 데이터에 대한 계산을 완료하는 데 오랜 시간이 걸린다는 것입니다. – duckertito
'df.sort_values ([ 'ID', 'COL1']) .ffill()'을 시도하면 3 ~ 4 배 더 빠릅니다. 위의 방법보다. NaN 값을 데이터 프레임의 끝으로 정렬하고'ffill()'메서드 만 사용하여 누락 된 값을 채 웁니다. – Psidom