我有2个 Dataframe X_train
和X_test
。这2个 Dataframe 具有相同的列。
有一个名为levels
的列需要从str
更改为int
。但是,每个 Dataframe 的levels
列具有不同的唯一值:X_train
具有:[“级别0”、“级别10”、“级别30”]作为唯一值。X_test
具有:[“级别20”,“级别40”]作为唯一值。
目标是1)合并来自X_train
和X_test
的唯一值,然后2)将cat.codes
应用于两个 Dataframe ,使它们保持一致。我该如何做?基本上,应用于两个 Dataframe 的cat.codes
将如下所示,即使一个 Dataframe 可能没有另一个 Dataframe 所具有的值:
{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
1条答案
按热度按时间oaxa6hgo1#
使用
CategoricalDtype
控制代码:输出: