首页 > 解决方案 > 如何使用查找表减少分类特征的条件性

问题描述

我是一个数据框(df1),其一个分类列是

df1=pd.Dataframe({'COL1': ['AA','AB','BC','AC','BA','BB','BB','CA','CB','CD','CE']})

我有另一个数据框(df2),它有两列

df2=pd.Dataframe({'Category':['AA','AB','AC','BA','BB','BC','CA','CB','CC','CD','CE','CF'],'general_mapping':['A','A','A','B','B','B','C','C','C','C','C','C']})

我需要使用 df2 修改 df1 ,最后看起来像:

df1->> ({'COL1': ['A','A','B','A','B','B','B','C','C','C','C']})

标签: pythonpandasdataframedimensionality-reduction

解决方案


您可以pd.Series.map在设置Category为索引后使用df.set_index.

df1['COL1'] = df1['COL1'].map(df2.set_index('Category')['general_mapping'])
df1
   COL1
0     A
1     A
2     B
3     A
4     B
5     B
6     B
7     C
8     C
9     C
10    C

推荐阅读