Skip to main content
 首页 » 编程设计

python之使用 for 循环缩放列

2025年05月04日12insus

我想用一个函数缩放数据框一列的所有值。这是到目前为止的功能:

def scale0_1(cname): 
     temp = array(cname) 
     for i in range(len(temp)): 
         value = temp[i]-min(temp)/(max(temp)-min(temp)) 
         temp[i] = value 
     return pd.DataFrame(temp) 

这是一个用于测试函数的示例列:

samplecolumn = pd.DataFrame([7.0, 15.8, 19.4, 11.4]) 

但是,当我将该函数用于数据框的一列时(任何数字列都可以),它只返回原始值,什么都不做。没有错误信息。有谁知道如何解决这个问题?

如果有任何帮助,我将不胜感激:)

请您参考如下方法:

使用np.interp

a=df[0].values 
 
np.interp(a, (a.min(), a.max()), (0, +1)) 
Out[36]: array([0.        , 0.70967742, 1.        , 0.35483871])