如何将相同的 cat.codes 应用于 2 个不同的数据帧?

问题描述 投票:0回答:0

我有 2 个数据框

X_train
X_test
。这 2 个数据框具有相同的列。

有 1 个名为

levels
的列需要从
str
更改为
int
。但是,每个数据框的
levels
列都有不同的唯一值:

X_train
具有:['Level 0', 'Level 10', 'Level 30'] 作为唯一值。

X_test
具有:['Level 20', 'Level 40'] 作为唯一值。

目标是 1) 结合

X_train
X_test
的唯一值,然后 2) 将
cat.codes
应用于两个数据帧,使它们保持一致。我该怎么做?基本上,应用于两个数据帧的
cat.codes
如下所示,即使一个数据帧可能没有另一个数据帧具有的值:

{0: 'Level 0', 1: 'Level 10', 2: 'Level 20', 3: 'Level 30', 4: 'Level 40'}

现在我只有以下内容,但我不确定如何获得两者的独特价值

cat.codes
.

X_train['levels'] = X_train['levels'].astype('category').cat.codes
X_test['levels'] = X_test['levels'].astype('category').cat.codes
python pandas dataframe categorical-data
© www.soinside.com 2019 - 2024. All rights reserved.