데이터프레임 관련 함수를 define 했는데, 실제 데이터가 바뀌지 않습니다.

조회수 68회

판다스 데이터프레임에서, 어떤 column의 값이 nan 뜨면 그 아랫줄 전부 삭제하기 위해 함수를 만들었습니다.

def shorter(df,column):

    for i in range(len(df)):
        if pd.isna(df[column])[i] == True:
           df = df.loc[0:i-1]
           break          

이렇게 하고, df에 해당 데이터프레임 넣고 돌렸는데, 실제 데이터프레임엔 변화가 일어나지 않습니다.

예를 들어 데이터프레임 이름을 df2022(함수에 넣기 전에 이미 정의 완료), column name을 '판정' 이라고 한다면

shorter(df2022, '판정')을 해도

df2022가 바뀌지 않습니다. 왜 이러는걸까요? 실제 데이터를 바꾸는 결과를 얻고 싶습니다.

  • 아 그리고 리스트는 이렇게 함수를 적용하면 바뀌는데, 리스트는 원래 그런건가요?? JAEMTO 2022.7.21 22:33

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.