【问题标题】:How to perform any transformation(like log transformation, box-cox) in dataset, when dataset contains 0 and negative values in columns?当数据集在列中包含 0 和负值时,如何在数据集中执行任何转换(如对数转换、box-cox)?
【发布时间】:2021-02-19 18:13:51
【问题描述】:
###  box-cox method

from scipy import stats

stats.boxcox(datamart[column])

ValueError: Data must be positive

我也无法执行日志转换,因为它包含 0 个值。我无法删除 0 值行。

【问题讨论】:

    标签: python scipy


    【解决方案1】:

    对包含零的数据进行对数转换的常用方法是简单地使用 log(x+1)。所以在python中你会做这样的事情:

    x_transform = np.log(x+1)
    

    【讨论】:

    • 负值呢?
    • 这完全取决于您...也许日志转换不是您的用例的最佳选择。但你可以做 log(x+(max_negative_value))
    猜你喜欢
    • 2022-08-23
    • 1970-01-01
    • 2014-07-06
    • 2021-02-16
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    相关资源
    最近更新 更多