小编Ji *_*ong的帖子

沿 numpy 数组中的行进行最小-最大缩放

我有一个 numpy 数组,我想使用以下过程将每一行的值重新调整为 0 到 1 之间的值:

如果沿给定行的最大值为X_max,沿该行的最小值为X_min,则该行中X_rescaled给定条目 ( X)的重新缩放值 ( )应变为:

X_rescaled = (X - X_min)/(X_max - X_min)
Run Code Online (Sandbox Code Playgroud)

例如,让我们考虑以下数组 ( arr):

arr = np.array([[1.0,2.0,3.0],[0.1, 5.1, 100.1],[0.01, 20.1, 1000.1]])
print arr
array([[  1.00000000e+00,   2.00000000e+00,   3.00000000e+00],
   [  1.00000000e-01,   5.10000000e+00,   1.00100000e+02],
   [  1.00000000e-02,   2.01000000e+01,   1.00010000e+03]])
Run Code Online (Sandbox Code Playgroud)

目前,我正在尝试通过以下方式使用MinMaxscalerfrom scikit-learn:

from sklearn.preprocessing import MinMaxScaler
result = MinMaxScaler(arr)
Run Code Online (Sandbox Code Playgroud)

但是,我不断得到我的初始数组,即result结果arr与上述方法中的相同。我究竟做错了什么?

如何arr以我需要的方式缩放数组(沿每个轴的最小-最大缩放?)提前致谢。

python arrays numpy scikit-learn

2
推荐指数
1
解决办法
2960
查看次数

使用另一个列表的索引对python列表进行排序

我想对包含数字(比如l1)的python列表进行排序,并使用此列表的索引(排序顺序)重新排列两个不同列表(l2和l3)的元素.我想用标准的python库(不是pandas)实现这一点.我正在使用python 2.7.

例如,让我们说:

l1 = [2,4,5,1]
l2 = ['aa', 'bb', 'cc', 'dd']
l3= ['a_a', 'b_b', 'c_c', 'd_d']
Run Code Online (Sandbox Code Playgroud)

在这里,我想按降序对l1进行排序l1_sorted = [5,4,2,1].

其他列表(l2和l3)将按照l1(l1_sorted)中的排序索引重新排列.在上面的例子中,我们应该:

l2_sorted = ['cc', 'bb', 'aa', 'dd']
l3_sorted = ['c_c', 'b_b', 'a_a', 'd_d']
Run Code Online (Sandbox Code Playgroud)

目前,我正在使用Python(l1_sorted = sorted(l1, reverse=True))的排序函数.但那只能给我l1_sorted.

如何实现我想要的全部功能(即l2_sorted和l3_sorted)?

python list python-2.7

1
推荐指数
1
解决办法
41
查看次数

标签 统计

python ×2

arrays ×1

list ×1

numpy ×1

python-2.7 ×1

scikit-learn ×1