Python 3.x 为特征工程生成标准化离散值
有一个dataframe,其中一列存储离散值,如下所示。我想创建另一列来存储规范化值。例如,对于Python 3.x 为特征工程生成标准化离散值,python-3.x,pandas,numpy,scikit-learn,sklearn-pandas,Python 3.x,Pandas,Numpy,Scikit Learn,Sklearn Pandas,有一个dataframe,其中一列存储离散值,如下所示。我想创建另一列来存储规范化值。例如,对于4050,相应的条目将是4。有没有什么有效的方法来代替编写我自己的函数?在Sklearn中,是否有生成规范化值的函数 根据您的评论: 大约有20个不同的值,范围从1000到9999,所以我想将每1000个值作为一个类别 从严格意义上讲,这并不是真正的规范化。但是,要做到这一点,您可以轻松地使用楼层划分(/): 例如: >>> df values 0 2021 1 8
4050
,相应的条目将是4
。有没有什么有效的方法来代替编写我自己的函数?在Sklearn中,是否有生成规范化值的函数
根据您的评论:
大约有20个不同的值,范围从1000到9999,所以我想将每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
为什么对应的条目是4?你想要什么样的标准化?有很多方法可以规范化数据…大约有20个不同的值,范围从1000到9999,所以我想用每1000个作为分类库,你对如何更好地规范化它们有什么建议吗?就像我说的,这不是规范化。我不确定你想要什么,但如果你想标准化它们,使它们的平均值为0,标准偏差为1,我建议使用,但我认为这与你的要求完全不同。
>>> 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