为特征工程生成标准化离散值
generate normalized discrete values for feature engineering
有一个数据框,一列存储离散值,如下所示。我想创建另一个存储规范化值的列。例如,对于 4050
,对应的条目将为 4
。有什么有效的方法可以代替我自己编写函数吗? Sklearn中有生成归一化值的函数吗?
根据您的评论:
there are around 20 different values, and the range is from 1000 to 9999, so I would like to use every 1000 as a category
从严格意义上讲,这并不是真正的规范化。但是,要做到这一点,您可以轻松地使用 floor division (//
):
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
有一个数据框,一列存储离散值,如下所示。我想创建另一个存储规范化值的列。例如,对于 4050
,对应的条目将为 4
。有什么有效的方法可以代替我自己编写函数吗? Sklearn中有生成归一化值的函数吗?
根据您的评论:
there are around 20 different values, and the range is from 1000 to 9999, so I would like to use every 1000 as a category
从严格意义上讲,这并不是真正的规范化。但是,要做到这一点,您可以轻松地使用 floor division (//
):
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