Python-一键编码到单列

时间:2018-07-28 20:38:43

标签: python pandas one-hot-encoding

我对Python的经验几乎为,但是我正在尝试学习它。我有一个带有假人的熊猫数据框。我想将它们转换回单列,但我根本想不出办法。有什么办法吗?

我有这个:

ID   var_1 var_2 var_3 var_4
231    1     0     0    0
220    0     1     0    0
303    0     0     1    0
324    0     0     0    1

我需要转换为它:

ID   var  
231    1   
220    2   
303    3    
324    4

2 个答案:

答案 0 :(得分:1)

假设这些确实是单编码,请在第一个轴上使用np.argmax

pd.DataFrame({'ID' : df['ID'], 'var' : df.iloc[:, 1:].values.argmax(axis=1) + 1})

    ID  var
0  231    1
1  220    2
2  303    3
3  324    4

但是,如果“ ID”是索引的一部分,请改用它:

pd.DataFrame({'ID' : df.index, 'var' : df.values.argmax(axis=1)})

答案 1 :(得分:1)

尝试一些新的public function boot() { $this->registerPolicies(); Passport::routes(); Passport::tokensExpireIn(now()->addDays(15)); Passport::refreshTokensExpireIn(now()->addDays(30)); }

wide_to_long