>source

이 데이터세트가 있습니다.

요청 사항은 다음과 같습니다. "선택한 변환 공식을 사용하여 범주형 값을 매핑해야 하는 "숫자" 데이터 세트에 Mjob 및 Fjob 속성을 추가합니다."

어떻게 하는지 아시는 분 계신가요? 예를 들어, Mjob에서 'at_home' 값이 '1'이 되면 Fjob 열에서도 동일한 결과를 원합니다. 동일한 범주형 값에는 동일한 정수 값 변환이 있어야 합니다.

모두 감사합니다.

  • 답변 # 1

    다음을 사용할 수 있습니다.지도pandas Series/Column과 함께 함수를 사용하여 문자열 데이터의 범주형 변수를 숫자 데이터로 매핑합니다. 예를 들어 다음 pandas 데이터 프레임의 경우:

    data= np.array([
       ['at_home','teacher'],
       ['at_home','other'],
       ['at_home','other'],
       ['health', 'services']
    ])
    df= pd.DataFrame(data=data, columns=['Mjob', 'Fjob'])
    

    두 개의 새로운 열이 다음을 사용하여 생성됩니다.지도기능

    map_dict= {'at_home':1, 'teacher':2, 'other':3, 'health':4, 'services':5}
    df['Mjob_numeric']= df['Mjob'].map(map_dict)
    df['Fjob_numeric']= df['Fjob'].map(map_dict)
    

    작동, 나는 '데이터'배열을 얻기 위해 약간의 변경을 했습니다: dataset.Mjob.unique().tolist(). 이 목록을 통해 이 열의 고유한 값이 무엇인지 알고 이를 사용하여 map 함수에 대한 사전을 만듭니다. 감사합니다.

    Davide2022-02-14 14:12:51
  • 이전 mongodb : Spring Data mongo 템플릿은 문자열 배열을 반환합니다.
  • 다음 asynchronous : Webpack -모든 종류의 비동기 호출이 모든 js를 중지합니다.