편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2022.11.21

    데이터프레임에서 전체 값이 0인 컬럼을 삭제하고싶습니다.


    안녕하세요 이전 처리를 통해 데이터 프레임을 얻어냈고 그 내용중에 모든 값이 0으로 나오는 컬럼을 제거하고 새로운 데이터 프레임을 만들고싶습니다.

    예를들자면

    df = pd.DataFrame([[0.0, 0.0224, 0.0123, 0.0],  
                       [0.0,  0.0, 0.0145, 0.0],
                       [0.0, 0.0145, 0.0000, 0.0],
                       [0.0, 0.0105, 0.0255  ,0.0]],
                       columns = [a, b, c, d])
    

    이런 방식으로 데이터프레임이 생겼다면 a와 d컬럼을 삭제하고 싶습니다.

    실제 데이터프레임은 훨씬 크기가커서 저는

    • df = df.replace(0, np.NaN) 우선 0을 결측치 값으로 변경한 후에
    • df.count() 를 해서
    • 결과가 0으로 나오는 컬럼명을 따로 뽑아내어
    • 원래의 df에서 drop하는 방식으로 생각을 해보았습니다.

    이 과정에서 df.count() == 0인 컬럼만 따로 리스트화해서 추출해 내는 방법이 궁금합니다. 여러 시도를 해봤는데 잘 모르겠습니다.

    혹시 이 방법 말고 더 편한 방법이 있을까요?

    부탁드립니다 감사합니다.

  • 프로필 편집요청빌런님의 편집
    날짜2022.11.21

    데이터프레임에서 전체 값이 0인 컬럼을 삭제하고싶습니다.


    안녕하세요 이전 처리를 통해 데이터 프레임을 얻어냈고 그 내용중에 모든 값이 0으로 나오는 컬럼을 제거하고 새로운 데이터 프레임을 만들고싶습니다.

    예를들자면

    df = pd.DataFrame([[0.0, 0.0224, 0.0123, 0.0],  
                       [0.0,  0.0, 0.0145, 0.0],
                       [0.0, 0.0145, 0.0000, 0.0],
                       [0.0, 0.0105, 0.0255  ,0.0]],
                       columns = [a, b, c, d])
    

    이런 방식으로 데이터프레임이 생겼다면 a와 d컬럼을 삭제하고 싶습니다.

    실제 데이터프레임은 훨씬 크기가커서 저는

    df = df.replace(0, np.NaN) 우선 0을 결측치 값으로 변경한 후에
    df.count() 를 해서 
    결과가 0으로 나오는 컬럼명을 따로 뽑아내어 원래의 df에서 drop하는 방식으로 생각을 해보았습니다.
    

    -이 과정에서 df.count() == 0인 컬럼만 따로 리스트화해서 추출해 내는 방법이 궁금합니다. 여러 시도를 해봤는데 잘 모르겠습니다..
    -혹시 이 방법 말고 더 편한 방법이 있을까요?

    부탁드립니다 감사합니다.

  • 프로필 이규란님의 편집
    날짜2022.11.21

    데이터프레임에서 전체 값이 0인 컬럼을 삭제하고싶습니다.


    안녕하세요 이전 처리를 통해 데이터 프레임을 얻어냈고 그 내용중에 모든 값이 0으로 나오는 컬럼을 제거하고 새로운 데이터 프레임을 만들고싶습니다.

    예를들자면

    df = pd.DataFrame([[0.0, 0.0224, 0.0123, 0.0],
    [0.0, 0.0, 0.0145, 0.0], [0.0, 0.0145, 0.0000, 0.0], [0.0, 0.0105, 0.0255 ,0.0]], columns = [a, b, c, d])

    이런 방식으로 데이터프레임이 생겼다면 a와 d컬럼을 삭제하고 싶습니다.

    실제 데이터프레임은 훨씬 크기가커서 저는

    df = df.replace(0, np.NaN) 우선 0을 결측치 값으로 변경한 후에
    df.count() 를 해서 
    결과가 0으로 나오는 컬럼명을 따로 뽑아내어 원래의 df에서 drop하는 방식으로 생각을 해보았습니다.
    

    -이 과정에서 df.count() == 0인 컬럼만 따로 리스트화해서 추출해 내는 방법이 궁금합니다. 여러 시도를 해봤는데 잘 모르겠습니다..

    -혹시 이 방법 말고 더 편한 방법이 있을까요?

    부탁드립니다 감사합니다.