원래 모양이 (4361, 15)
인 df
이라는 데이터 프레임이 있습니다. agefm
열의 값 중 일부는 NaN입니다. 그냥 보면 :다른 열의 NaN 값을 기반으로 pandas 데이터 프레임의 값을 설정하는 방법은 무엇입니까?
> df[df.agefm.isnull() == True].agefm.shape
(2282,)
그럼 내가 영으로 모든 값을 새 열을 생성하고 설정합니다
df['nevermarr'] = 0
그래서 내가 그 행 agefm
에서 다음 1로 nevermarr
값을 설정하려는 것은 할머니는 다음과 같습니다
df[df.agefm.isnull() == True].nevermarr = 1
아무것도 변경되지 :
> df['nevermarr'].sum()
0
내가 뭘 잘못하고 있니?
'df [df.agefm.isnull() == True] .nevermarr = 1'을 실행하면 이미'isnull'의 결과물 인'== True'를 삭제할 수 있습니다. 그런 다음 변경되지 않으면이 메서드는 데이터 프레임의 복사본을 만들기 때문에 있어야합니다. 그런 다음 원래 데이터 프레임이 아닌 라인의 끝에서 사라지는 임시 데이터 프레임을 수정합니다 (그러나 확실하지 않습니다). 어쨌든, Jezrael의 대답은 항상 그렇듯이 좋습니다. – ysearka
@ysearka 좋은 설명 인 것 같습니다.) – Rocketq