【问题标题】:Use same category labeling criteria on two different dataframes在两个不同的数据框上使用相同的类别标签标准
【发布时间】:2020-08-08 00:14:52
【问题描述】:

我有一个包含分类特征的数据帧,我用以下方式编码:

df['categorical_feature'] = df['categorical_feature'].astype('category')
df['labels'] = df['categorical_feature'].cat.codes

如果我在另一个具有相同类别字段的数据帧上应用与上述相同的代码,则映射会被打乱,但我需要它与第一个数据帧保持一致。

有没有办法成功地将相同的映射category:label 应用到另一个具有相同分类值的数据帧?

【问题讨论】:

  • 请分享两个数据帧的样本并提供预期输出。

标签: pandas label-encoding


【解决方案1】:

我认为您正在寻找pd.Series.map(),它使用具有category: label 映射的字典将值从category 映射到label

创建映射字典:您可以结合使用字典推导式和zip,但也有其他方法:

col = 'categorical_features'
mapping_dict = {k: v for k, v in zip(df[col], df[col].cat.codes}

现在您可以映射 category: label 映射:

df['labels'] = df['categorical'].map(mapping_dict)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 2013-07-24
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多