2017-10-10 65 views
0

我有一個特性,那就是一個數字,我想追溯所有可能性並使其成爲二進制特性。數字的二進制化python

特點:

FEATURE1 
1 23 
3 20 
4 23 
5 1 
7 8 
8 23 

想輸入:

FEATURE1 23 20 .... 
1 23   1 0 .... 
3 20   0 1 .... 
4 23   1 0 .... 
5 1   0 0 .... 
7 8   0 0 .... 
8 23   1 0 .... 
  • 我沒有很多不同的數字

你能幫助嗎?

+0

什麼是分類的依據是什麼? –

回答

2

嘗試pd.get_dummies()功能在熊貓。

import pandas as pd 
df = pd.DataFrame({'X': ['a', 'b', 'c', 'a']}) 
df = df.join(pd.get_dummies(df['X'])) 
print(df) 

輸出:

X a b c 
0 a 1 0 0 
1 b 0 1 0 
2 c 0 0 1 
3 a 1 0 0 
+0

謝謝!我可以自動添加一個字符串到col名稱? (如feature_a) – hila

+0

您可以指定任何前綴,以下是文檔:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html –

1

另一種方法是使用熊貓pivot_table

df = pd.DataFrame({'FEATURE1': ['10', '13', '13', '22', '15']}) 
df.pivot_table(index=df.index, columns='FEATURE1', aggfunc=len   
     ).fillna(value=0)