반응형
pd.get_dummies
를 사용하면 범주 형 변수를 더미 변수로 변환 할 수 있습니다. 범주 형 변수를 재구성하는 것이 사소하다는 사실 외에도 선호하는 / 빠른 방법이 있습니까?
해결 방법
In [46]: s = Series(list('aaabbbccddefgh')).astype('category')
In [47]: s
Out[47]:
0 a
1 a
2 a
3 b
4 b
5 b
6 c
7 c
8 d
9 d
10 e
11 f
12 g
13 h
dtype: category
Categories (8, object): [a < b < c < d < e < f < g < h]
In [48]: df = pd.get_dummies(s)
In [49]: df
Out[49]:
a b c d e f g h
0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0
3 0 1 0 0 0 0 0 0
4 0 1 0 0 0 0 0 0
5 0 1 0 0 0 0 0 0
6 0 0 1 0 0 0 0 0
7 0 0 1 0 0 0 0 0
8 0 0 0 1 0 0 0 0
9 0 0 0 1 0 0 0 0
10 0 0 0 0 1 0 0 0
11 0 0 0 0 0 1 0 0
12 0 0 0 0 0 0 1 0
13 0 0 0 0 0 0 0 1
In [50]: x = df.stack()
# I don't think you actually need to specify ALL of the categories here, as by definition
# they are in the dummy matrix to start (and hence the column index)
In [51]: Series(pd.Categorical(x[x!=0].index.get_level_values(1)))
Out[51]:
0 a
1 a
2 a
3 b
4 b
5 b
6 c
7 c
8 d
9 d
10 e
11 f
12 g
13 h
Name: level_1, dtype: category
Categories (8, object): [a < b < c < d < e < f < g < h]
참조 페이지 https://stackoverflow.com/questions/26762100
반응형
'파이썬' 카테고리의 다른 글
파이썬 사전을 JSON으로 변환 (0) | 2020.12.05 |
---|---|
파이썬 Matplotlib를 사용하여 두 개의 y 축 스케일에 대한 격자 선을 어떻게 정렬합니까? (0) | 2020.12.05 |
파이썬 Convert Pandas Column to DateTime (0) | 2020.12.05 |
파이썬 pygame.error : 비디오 시스템이 초기화되지 않았습니다. (0) | 2020.12.04 |
파이썬 기본 인수 값을 포함하는 함수의 서명을 어떻게 읽을 수 있습니까? (0) | 2020.12.04 |
댓글