在1-10之间缩放python数据帧特定列的值
我有一个包含youtube视频视图的数据框,我想将这些值缩放到1-10的范围内。 下面是值的示例?我如何在1-10范围内对其进行规范化,或者有没有更有效的方法来实现这一点在1-10之间缩放python数据帧特定列的值,python,pandas,dataframe,scale,normalization,Python,Pandas,Dataframe,Scale,Normalization,我有一个包含youtube视频视图的数据框,我想将这些值缩放到1-10的范围内。 下面是值的示例?我如何在1-10范围内对其进行规范化,或者有没有更有效的方法来实现这一点 rating 4394029 274358 473691 282858 703750 255967 3298456 136643 796896 2932 220661 48688 4661584 2526119 332176 7189818 322896 188162 157437 1153128 788310 1307902
rating
4394029
274358
473691
282858
703750
255967
3298456
136643
796896
2932
220661
48688
4661584
2526119
332176
7189818
322896
188162
157437
1153128
788310
1307902
一种可能是使用
max
执行缩放
1 + df / df.max() * 9
rating
0 6.500315
1 1.343433
2 1.592952
3 1.354073
4 1.880933
5 1.320412
6 5.128909
7 1.171046
8 1.997531
9 1.003670
10 1.276217
11 1.060946
12 6.835232
13 4.162121
14 1.415808
15 10.000000
16 1.404192
17 1.235536
18 1.197075
19 2.443451
20 1.986783
21 2.637193
温家宝的类似解决方案(现已删除):
OP说他们想要的是1-10,不是0-10,应该是1-10@NikitaGupta现在呢?我删除了我的,因为它类似于,
1+(df.min())*9/(df.max()-df.min())
@Wen它看起来正确并且给出了(几乎)相同的结果,所以我添加了它作为替代品。:-)
1 + (df - df.min()) * 9 / (df.max() - df.min())
rating
0 6.498887
1 1.339902
2 1.589522
3 1.350546
4 1.877621
5 1.316871
6 5.126922
7 1.167444
8 1.994266
9 1.000000
10 1.272658
11 1.057299
12 6.833941
13 4.159739
14 1.412306
15 10.000000
16 1.400685
17 1.231960
18 1.193484
19 2.440368
20 1.983514
21 2.634189