python - 如何使用查找表减少分类特征的条件性
问题描述
我是一个数据框(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']})
解决方案
您可以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
推荐阅读
- python - Cython 和 SIMD 内在函数:防止 SIMD 内在函数的参数转换为 python 对象
- r - 有没有办法绘制从 R groupby 设置的组?
- data-structures - 图中任意两个节点之间的距离(基于它们之间的边)
- jquery - 滚动停止时使用什么缓动值来平滑减速
- flask-sqlalchemy - 带有 db 模型的循环导入的烧瓶 sqlalchemy
- python - 如何通过字符串变量迭代读取 Pandas Dataframe 列信息
- string - 如何将索引开始到文本文件中的不同位置?
- data-binding - 当值为“”Angular 6时从对象中删除一个属性
- r - 如何在有条件的情况下使用 expand.grid?
- google-cloud-functions - Firebase 图片调整大小扩展的问题