>

여기에 이미지 설명 입력 4 개의 열이 포함 된 데이터 프레임이 있고 항목을 기준으로 열의 이름을 바꿉니다. 예 : 열 항목의 대부분이 문자열 인 경우 AOR로 이름을 바꿉니다. 대다수가 수레 인 경우 값을 이름으로 바꿉니다. 첨부 된 이미지를 참조하십시오.

  • 답변 # 1

    이건 어때?

    select_dtypes 를 사용할 수 있습니다  길이를 세려면 목록으로 전달하십시오.

    col_floats = df.select.dtypes(include='float').columns.tolist()
    col_strings = df.select.dtypes(include='object').columns.tolist()
    if len(col_floats) > len(col_strings):
        df.columns.map(lambda x : 'Values '  + x)
    else:
        df.columns.map(lambda x : 'AOR ' + x)
    
    

    사용 사례에 대한 로직을 편집 할 수 있지만 샘플 데이터 세트 및 예제 출력 없이는 원하는 것을 말하기가 어렵습니다.

  • 답변 # 2

    IIUC, 이것이 효과가 있습니다

    여기서 일어나는 일은 df[col].count() 입니다  열에서 숫자 값의 숫자를 계산합니다. 열의 길이가 10이라고 가정하고 개수가 6보다 크면 열에 대부분의 숫자가 있고 이름이 nums 로 변경된 것으로 가정합니다. . 그러나 여러 열의 이름을 동일하게 지정하는 것은 좋지 않습니다.

    cols = df.columns
    for col in cols:
        if (df[col].count()/df.shape[0]) > 0.5:
            df.rename({col:'nums'}, axis=1, inplace =True)
        else:
            pass
    
    

관련 자료

  • 이전 python - heroku로 푸시 실패
  • 다음 mysql - 다른 ID를 가진 테이블에서 동일한 열을 선택하는 방법