【问题标题】:Scale values of a particular column of python dataframe between 1-10python数据框特定列的缩放值在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

【问题讨论】:

    标签: python pandas dataframe scale normalization


    【解决方案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 它看起来是正确的并且给出了(几乎)相同的结果,所以我添加了它作为替代。 :-)
    猜你喜欢
    • 2020-08-01
    • 2020-07-16
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    相关资源
    最近更新 更多