gpt4 book ai didi

python - 在 python 中进行因式分解

转载 作者:行者123 更新时间:2023-11-30 09:15:42 25 4
gpt4 key购买 nike

我记得在 R 中我使用了 the.factor (我相信它们是带有级别的因子),但在 python 中我不知道该怎么做。

它使用的是 get_dummies,但当训练数据集具有测试没有的值时,就会出现问题,从而生成比 ML 算法无法接受的更多的列。

我需要转换以下列:

train.head(5)

Id MSSubClass MSZoning
1 60 RL
2 53 RR
3 49 RL
4 60 RL
5 95 RR
6 16 RR
6 16 R1

我需要离开火车。MSZoning 如下:

MSZoning
1
2
1
1
2
2
3

谢谢。

最佳答案

您可以使用pd.Categorical。以下是一个最小的可重现示例

import pandas as pd 
data = [[1, 60, 'RL'], [2, 53, 'RR'], [3, 49, 'RL'], [4, 60, 'RL'], [5, 95, 'RR']]
df = pd.DataFrame(data, columns = ['Id', 'MSSubClass', 'MSZoning'])

df['MSZoning_factor'] = pd.Categorical(df.MSZoning).codes + 1
df
# Id MSSubClass MSZoning MSZoning_factor
#0 1 60 RL 1
#1 2 53 RR 2
#2 3 49 RL 1
#3 4 60 RL 1
#4 5 95 RR 2

或者使用pd.factorize

df['MSZoning_factor'] = pd.factorize(df.MSZoning)[0] + 1

给出相同的结果。

关于python - 在 python 中进行因式分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56502998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com