熊猫重新调整数据框列与其他列规范化一致

问题描述

我有数据框:

df1

   col1  col2   col_base
0  1142   177  596821046
1    24    22  552973776
2   105     6  593632325
3    50    18   47238004

我想将 col_base 规范化为 范围并自动重新缩放剩余的列。

我遇到的问题是我知道我可以安装一些 MinMaxScaler 或一些 sklearn.preprocessing 规范化器,但我不想手动划分 col1、col2,但我正在寻找一些自动化的方式,所以输出是:

       col1_rs     col2_rs  col_base_norm
0  1142.000000  177.000000       1.000000
1    26.080799   23.907399       0.920217
2   105.612773    6.035016       0.994198
3          NaN         NaN       0.000000

这是我当前的代码

a,b = 0,1
x,y = df1.col_base.min(),df1.col_base.max()
df1['col_base_norm'] = (df1.col_base - x) / (y - x) * (b - a) + a
df1['col1_rs'] = df1['col1'] / df1['col_base_norm']
df1['col2_rs'] = df1['col2'] / df1['col_base_norm']
df1 = df1.replace([np.inf,-np.inf],np.nan,inplace=False)
df1[['col1_rs','col2_rs','col_base_norm']]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)