用新值替换字典中的旧值
Replacing old values in dictionary with new values
我有一个字典如下:
d =
{1.0: 86, 2.0: 4406, 3.0: 523, 4.0: 324, 5.0: 1641, 6.0: 863}
我想将字典中存在的值缩放到范围 (0,255) 并将缩放后的值替换为旧值。为此,我使用 sklearn
中的 MinMaxScaler
。
我执行以下操作:
MinMaxScaler(feature_range=(0, 255)).fit_transform(np.array(list(distance.values())).reshape(-1,1)).astype(int)
现在上面这行代码的结果是:
array([[ 0],
[254],
[ 25],
[ 14],
[ 91],
[ 45]])
我希望将字典中的值替换为上面显示的值(输出),即数组中存在的缩放值。所需的输出应如下所示:
d =
{1.0: 0, 2.0: 254, 3.0: 25, 4.0: 14, 5.0: 91, 6.0: 45}
我怎样才能做到这一点?
提前致谢!
由于新数组与字典大小相同,您可以遍历字典并替换每个元素:
for index, (key, value) in enumerate(d.items()):
d[key] = array[index]
我有一个字典如下:
d =
{1.0: 86, 2.0: 4406, 3.0: 523, 4.0: 324, 5.0: 1641, 6.0: 863}
我想将字典中存在的值缩放到范围 (0,255) 并将缩放后的值替换为旧值。为此,我使用 sklearn
中的 MinMaxScaler
。
我执行以下操作:
MinMaxScaler(feature_range=(0, 255)).fit_transform(np.array(list(distance.values())).reshape(-1,1)).astype(int)
现在上面这行代码的结果是:
array([[ 0],
[254],
[ 25],
[ 14],
[ 91],
[ 45]])
我希望将字典中的值替换为上面显示的值(输出),即数组中存在的缩放值。所需的输出应如下所示:
d =
{1.0: 0, 2.0: 254, 3.0: 25, 4.0: 14, 5.0: 91, 6.0: 45}
我怎样才能做到这一点? 提前致谢!
由于新数组与字典大小相同,您可以遍历字典并替换每个元素:
for index, (key, value) in enumerate(d.items()):
d[key] = array[index]