python数据框特定列的缩放值在1-10之间
Posted
技术标签:
【中文标题】python数据框特定列的缩放值在1-10之间【英文标题】:Scale values of a particular column of python dataframe between 1-10 【发布时间】:2018-05-01 18:18:50 【问题描述】:我有一个包含 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
【问题讨论】:
【参考方案1】:一种可能性是使用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
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
【讨论】:
OP 说他们想要 1-10,而不是 0-10。 应该是1-10 @NikitaGupta 现在呢? 我删除了我的,因为它是相似的,1+(df-df.min())*9/(df.max()-df.min())
@Wen 它看起来是正确的并且给出了(几乎)相同的结果,所以我添加了它作为替代。 :-)以上是关于python数据框特定列的缩放值在1-10之间的主要内容,如果未能解决你的问题,请参考以下文章