2016-09-19 72 views
0

我想标准化熊猫数据框中的某些列。大熊猫在选定列上的操作

dfTest = pd.DataFrame({ 
      'A':[14.00,90.20,90.95,96.27,91.21], 
      'B':[103.02,107.26,110.35,114.23,114.68], 
      'C':['big','small','big','small','small'] 
     }) 

这不起作用,因为只能设置一个索引。如果只喜欢“A”单个列选择sklearn发出一些废弃警告

scaler = StandardScaler() 
dfTest['A_scaled', 'B_scaled'] = scaler.fit_transform(dfTest[['A', 'B']]) 
dfTest 

我怎么能做到这样的事情?

+0

对不起你的意思'dfTest [ 'A_scaled', 'B_scaled'] = scaler.fit_transform( dfTest [['A','B']])'? – EdChum

+0

或许在一般情况下'dfTest [“A”,“B”]。应用(scaler.fit_transform)' – EdChum

+0

其实我真正想的是列“A”是由新创建的缩放栏取代。 –

回答

1

你可以串连的比例列于原始DF如图所示:

scaler = StandardScaler() 
scaled_data = pd.DataFrame(data=scaler.fit_transform(dfTest[['A', 'B']]), 
          columns=['A_scaled', 'B_scaled']) 

pd.concat([dfTest, scaled_data], axis=1) 

Image