복붙노트

[PYTHON] `pandas.get_dummies`에서 새로운 데이터로 변환하는 쉬운 방법?

PYTHON

`pandas.get_dummies`에서 새로운 데이터로 변환하는 쉬운 방법?

표시기로 변환 할 문자열이있는 데이터 프레임 데이터가 있다고 가정합니다. 나는 pandas.get_dummies (data)를 사용하여 이것을 모델 생성에 사용할 수있는 데이터 세트로 변환합니다.

이제 저는 모델을 통해 실행하고 싶은 새로운 관찰이 하나 있습니다. 분명히 pandas.get_dummies (new_data)는 모든 클래스를 포함하지 않으며 동일한 표시기 행렬을 만들지 않기 때문에 사용할 수 없습니다. 이것을 할 수있는 좋은 방법이 있습니까?

해결법

  1. ==============================

    1.하나의 새로운 관측으로부터 인형을 만들고 원래의 인디케이터 매트릭스의 컬럼을 사용하여이 프레임 컬럼을 다시 색인 할 수 있습니다 :

    하나의 새로운 관측으로부터 인형을 만들고 원래의 인디케이터 매트릭스의 컬럼을 사용하여이 프레임 컬럼을 다시 색인 할 수 있습니다 :

    import pandas as pd
    df = pd.DataFrame({'cat':['a','b','c','d'],'val':[1,2,5,10]})
    df1 = pd.get_dummies(pd.DataFrame({'cat':['a'],'val':[1]}))
    dummies_frame = pd.get_dummies(df)
    df1.reindex(columns = dummies_frame.columns, fill_value=0)
    

    보고:

            val     cat_a   cat_b   cat_c   cat_d
      0     1       1       0       0       0
    
  2. from https://stackoverflow.com/questions/28465633/easy-way-to-apply-transformation-from-pandas-get-dummies-to-new-data by cc-by-sa and MIT license