python - 根据来自另一个数据帧的值之间的映射对数据帧中的几列进行变异
问题描述
我有2个数据框:
df
看起来像这样
id v1 v2 v3 v4 etc.
1 1 4 2 5
2 4 4 6 1
3 2 1 3 4
etc.
虽然rules
看起来像这样
id name
1 red
2 blue
3 grey
4 green
5 black
6 gold
etc
我想要获得的是以下内容
id v1 v2 v3 v4 etc.
1 red green blue black
2 green green gold red
3 blue red grey green
etc.
所以基本上使用规则中数字和颜色之间的映射来改变 df
解决方案
您可以执行以下操作:
results = df.applymap(lambda i: rules.loc[i, 'name'])
与df
喜欢
v1 v2 v3 v4
id
1 1 4 2 5
2 4 4 6 1
3 2 1 3 4
和rules
喜欢
name
id
1 red
2 blue
3 grey
4 green
5 black
6 gold
结果是
v1 v2 v3 v4
id
1 red green blue black
2 green green gold red
3 blue red grey green
推荐阅读
- python - turtle.tracer() 有什么作用?
- glib - 如何使用介子构建 glib
- firebase - 如何确定用户是否从 Firebase 手动身份验证或 Google 身份验证 Flutter 登录
- c# - React .NET 启用 CORS - 请求的资源上不存在“Access-Control-Allow-Origin”标头
- amazon-web-services - API 网关的自定义域无法设置 404
- bash - sed 命令无法替换另一个文件中的三行,没有显示错误
- python - Django:将不可迭代的对象放入 QuerySet
- python - 即使我已经满足了条件,为什么我会陷入循环?
- sql - 查询加入实验室结果
- java - 如何将firebase数据库的eventlistner的数据快照存储在字符串中