【问题标题】:generate normalized discrete values for feature engineering为特征工程生成归一化离散值
【发布时间】:2019-01-20 16:43:20
【问题描述】:

有一个数据框,其中一列存储离散值,如下所示。我想创建另一个存储标准化值的列。例如,对于4050,对应的条目将是4。有没有有效的方法来代替编写我自己的函数?在 Sklearn 中,有没有生成归一化值的函数?

【问题讨论】:

  • 为什么对应的条目会是4?您要进行哪种标准化?有很多方法可以标准化数据...
  • 大约有20个不同的值,范围从1000到9999,所以我想用每1000个作为一个类别

标签: python-3.x pandas numpy scikit-learn sklearn-pandas


【解决方案1】:

根据您的评论:

大约有 20 个不同的值,范围从 1000 到 9999,所以我想将每 1000 个作为一个类别

这并不是严格意义上的规范化。但是,要做到这一点,您可以轻松地使用地板除法 (//):

df['new_column'] = df['values']//1000

例如:

>>> df
   values
0    2021
1    8093
2    9870
3    4508
4    2645
5    1441
6    8888
7    8921
8    7292
9    8571

df['new_column'] = df['values']//1000

>>> df
   values  new_column
0    2021           2
1    8093           8
2    9870           9
3    4508           4
4    2645           2
5    1441           1
6    8888           8
7    8921           8
8    7292           7
9    8571           8

【讨论】:

  • 谢谢,您对如何更好地规范化它们有什么建议吗?
  • 就像我说的,这不是标准化。我不确定你要做什么,但如果你想将它们标准化为平均值为 0,标准差为 1,我建议使用 StandardScaler,但这与你的完全不同我想是在问。
猜你喜欢
  • 1970-01-01
  • 2016-11-30
  • 2015-11-23
  • 1970-01-01
  • 2016-12-27
  • 2021-05-22
  • 2013-02-20
  • 2018-11-29
  • 2018-09-11
相关资源
最近更新 更多