티스토리 뷰
반응형
In [41]:
import pandas as pd
import numpy as np
In [42]:
edges = pd.DataFrame({'source':[0, 1, 2],
'target':[2, 2, 3],
'weight':[3, 4, 5],
'color': ['red', 'blue', 'blue']})
edges
Out[42]:
In [43]:
edges.dtypes
Out[43]:
In [44]:
edges["color"]
Out[44]:
In [45]:
pd.get_dummies(edges) # get_dummies 를 사용하면 문자열 특성만 인코딩되며 숫자 특성은 바뀌지 않음
Out[45]:
In [46]:
pd.get_dummies(edges["color"])
Out[46]:
In [47]:
pd.get_dummies(edges[["color"]]) ## [] 를 하나 더 사용하면 column 명에 _ 가 붙음
Out[47]:
In [48]:
weight_dict = {3:"M", 4:"L", 5:"XL"}
edges["weight_sign"] = edges["weight"].map(weight_dict)
edges
Out[48]:
In [49]:
weight_sign = pd.get_dummies(edges["weight_sign"])
weight_sign
Out[49]:
In [50]:
pd.concat([edges, weight_sign], axis=1)
Out[50]:
In [51]:
edges
Out[51]:
In [52]:
pd.get_dummies(edges)
Out[52]:
In [53]:
pd.get_dummies(edges).values
Out[53]:
In [54]:
raw_data = {
'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks', 'Dragoons', 'Dragoons', 'Dragoons', 'Dragoons', 'Scouts', 'Scouts', 'Scouts', 'Scouts'],
'company': ['1st', '1st', '2nd', '2nd', '1st', '1st', '2nd', '2nd','1st', '1st', '2nd', '2nd'],
'name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze', 'Jacon', 'Ryaner', 'Sone', 'Sloan', 'Piger', 'Riani', 'Ali'],
'preTestScore': [4, 24, 31, 2, 3, 4, 24, 31, 2, 3, 2, 3],
'postTestScore': [25, 94, 57, 62, 70, 25, 94, 57, 62, 70, 62, 70]
}
df = pd.DataFrame(raw_data, columns = ['regiment', 'company', 'name', 'preTestScore', 'postTestScore'])
df
Out[54]:
In [55]:
bins = [0, 25, 50, 75, 100] # 구간 정의 0~25, 25~50, 50~75, 75~100
group_name = ['Low', 'Okay', 'Good', 'Great']
categories = pd.cut(df['postTestScore'], bins, labels=group_name)
categories
Out[55]:
In [56]:
df['categories'] = pd.cut(df['postTestScore'], bins, labels=group_name)
In [57]:
pd.value_counts(df['categories'])
Out[57]:
In [58]:
df
Out[58]:
In [59]:
pd.get_dummies(df)
Out[59]:
In [60]:
raw_example = df.as_matrix()
raw_example[:3]
Out[60]:
In [61]:
data = raw_example.copy()
data
Out[61]:
In [62]:
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
In [63]:
raw_example[:,0]
Out[63]:
In [64]:
le.fit(raw_example[:,0])
Out[64]:
In [65]:
le.classes_
Out[65]:
In [66]:
le.transform(raw_example[:,0])
Out[66]:
In [67]:
data[:,0] =le.transform(raw_example[:,0])
data[:3]
Out[67]:
In [68]:
label_column = [0, 1, 2, 5]
label_encoder_list = []
for column_index in label_column:
le = preprocessing.LabelEncoder()
le.fit(raw_example[:, column_index])
data[:, column_index] = le.transform(raw_example[:,column_index ])
label_encoder_list.append(le)
del le
data[:3]
Out[68]:
In [69]:
label_encoder_list[0].transform(raw_example[:10, 0])
Out[69]:
In [70]:
one_hot_enc = preprocessing.OneHotEncoder()
data[:,0].reshape(-1,1)
Out[70]:
In [71]:
one_hot_enc.fit(data[:,0].reshape(-1,1))
Out[71]:
In [72]:
one_hot_enc.n_values_
Out[72]:
In [73]:
one_hot_enc.active_features_
Out[73]:
In [74]:
onehotlabels = one_hot_enc.transform(data[:,0].reshape(-1,1)).toarray()
In [75]:
onehotlabels
Out[75]:
In [ ]:
반응형
'머신러닝' 카테고리의 다른 글
[Ensemble_1] Bagging (배깅) (0) | 2018.11.09 |
---|---|
kaggle 타이타닉 EDA (0) | 2018.10.25 |
[데이터전처리_2] missing value 처리 (0) | 2018.10.17 |
[데이터전처리_1] Feature Scaling (0) | 2018.10.16 |
Pandas 너 뭐니?_두번째 (0) | 2018.06.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 경제주체별 M2
- 연금저축
- 객사오
- 환매시점
- 연금등록
- 주소를 위경도 변환
- Dash 와 html 차이
- 프로그래스바 표시
- 김성일 작가님
- 블록해쉬구현
- pandas apply
- 원계열
- 말잔
- 환율데이터
- Dash.html
- ChatGPT
- 리치고 주식
- 위경도변환
- 마연굴
- dash
- Forgiving
- M1M2비율
- 경제는 어떻게 움직이는가
- M1/M2
- 통화량 데이타
- 리치고
- 내 연금조회
- 계정조정계열
- 환율이평선
- 블록해쉬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함