我想直接在 CatBoost 模型中使用分类特征,并且需要在 Catboost 模型中将我的对象列声明为分类。我的数据框中有一列,它是一个包含 nace 代码的对象,如下所示:
NACE_代码
5632 81.101
8060 41.200
15147 43.120
24644 68.100
29144 86.909
37122 68
39853 43
59268 43
108633 70.220
108693 56.102
175820 43.320
184606 41.200
Name: NACE_code, dtype: object
Python 不接受此列作为分类列。相反,它告诉我这是一个 float ,因为某些值带有点。我对 python 比较陌生,我尝试了不同的方法来删除这些值中的点,但我最后一次尝试将所有这些不带点的值更改为 NAN。
df['NACE_code'].str.replace(r"(\d)\.", r"\1")
5632 81101
8060 41200
15147 43120
24644 68100
29144 86909
37122 NaN
39853 NaN
59268 NaN
108633 70220
108693 56102
175820 43320
184606 41200
Name: NACE_KODE, dtype: object
如何让我的专栏看起来像这样?我很感激我能得到的任何帮助!
5632 81101
8060 41200
15147 43120
24644 68100
29144 86909
37122 68
39853 43
59268 43
108633 70220
108693 56102
175820 43320
184606 41200
最佳答案
# The following code should work:
df.NACE_code = df.NACE_code.astype(str)
df.NACE_code = df.NACE_code.str.replace('.', '')
关于python - 数据框:如何删除字符串中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71466999/