数字的二值化python

时间:2017-10-10 09:36:23

标签: python binary

我的功能是一个数字,我希望将所有可能性归为一种二进制功能。

特征:

   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  ....
  • 我没有很多不同的数字
你可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

在pandas中尝试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

答案 1 :(得分:1)

另一种方法是使用pandas pivot_table

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