Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- SPLIT
- 하둡
- 분포
- pca
- Sawzall
- 병렬 쿼리 시스템
- Python
- 결정계수
- cross validation
- 데이터프레임
- 교차검증
- DataFrame
- 다중공선성
- k-means
- hive
- 분산분석
- pig
- T-검정
- merge
- p-value
- 가설검정
- 유사도
- dict
- 밀도기반
- 딕셔너리
- SQL on 하둡
- DBSCAN
- join
- list
- distribution
Archives
- Today
- Total
one of a kind scene
[python] index를 나타내는 list를 가지고 onehot 인코딩한 vector 형태의 list 만들어주기 본문
Python/데이터 핸들링
[python] index를 나타내는 list를 가지고 onehot 인코딩한 vector 형태의 list 만들어주기
specialscene 2019. 12. 11. 00:03(상황)
어떤 데이터 프레임 df에서 onehot인코딩하여 1값을 지닐 index를 담고있는 column1이 있을때,
이를 가지고 onehot 인코딩한 vector형태의 list를 column2에 만들어 주고자 한다.
(예제)
vector의 index를 담고있는 [1,4] 라는 list를 보고 [0,1,0,0,1]이라는 onehot 인코딩한 vector형태의 list 만들어주기
[1,4] → [0,1,0,0,1] 변환
(코드)
# 비어있는 column2를 만들어 준다
df['column2'] = np.NaN
for i in range(len(df)):
# maxrange = len(벡터)
maxrange = 벡터길이 설정해주면 됨
# onehot만들어줄 0으로만 이루어진 list만들어주기
onehot = [0] * (maxrange)
# column1의 .iloc을 활용한 select할 수 있는 번호는 1번
for j in df.iloc[i,1]:
# 해당 인자의 값만 1로 만들어주는 작업
onehot[j] += 1
# (중요) 데이터 프레임이 바로 list값을 value로 못받아서
# string 변환 후 eval해주는 형식으로 코드를 짜야함
df.iloc[i,2] = str(onehot)
df.iloc[i,2] = eval(str(onehot))
'Python > 데이터 핸들링' 카테고리의 다른 글
[python] 데이터 프레임 정렬 및 정렬 후 index reset하기 (0) | 2019.12.10 |
---|---|
[python] 빈 데이터 프레임 만들기 (0) | 2019.12.10 |
[python] 데이터프레임으로 SQL의 join하기 (0) | 2019.12.10 |
[python] 데이터 프레임 column 끼리 연산하여 새로운 column 만들어주기(df.apply, lambda 활용) (1) | 2019.12.10 |