python - 查找和替换在 Dataframe 中不起作用
问题描述
如果名称在查找数据框中可用,我想在 df 数据框中将 Found 列值更新为“是”。但下面的代码并没有替换该值。
import pandas as pd
df=pd.DataFrame({'Name':['Ram','David','Roy','John','Ed'],
'Found':['No','No','No','No','No'],
})
lookup=pd.DataFrame({'Name':['Ram','Kate','John','Doll','Ed','Sins'],
'role':['App','App','App','App','App','App']})
df['Found'].replace(dict(zip(lookup.Name, 'Yes')),inplace=True)
我的输出-
Name Found
0 Ram No
1 David No
2 Roy No
3 John No
4 Ed No
我需要的是——
Name Found
0 Ram Yes
1 David Yes
2 Roy No
3 John Yes
4 Ed Yes
解决方案
试试isin
,
df["Found"] = np.where(df["Name"].isin(lookup["Name"]), "Yes", "No")
推荐阅读
- sql-server - SSIS:将数据从源导入到 SSIS 包中的多个目标表时出现冲突错误
- laravel - Laravel Horizon 检查当前环境
- reactjs - React Hook useEffect 缺少依赖项:“getData”、“isAuthorized”和“props”。包括它们或删除依赖数组
- android - 如何在 RecyclerView 适配器中生成随机整数?
- node.js - 如何减小图像文件大小。何时使用 Nodejs 从 Google 图片 URL 或域 URL 下载?
- java - 用 super(objects) 替换子类构造函数有什么问题?
- python - Pyspark 从 kafkaDirectStream 到 Postgresql
- google-apps-script - 有没有办法在 Google 帐户级别创建 Google Apps 触发器,而不是特定于一个表单?
- html - 为什么在尝试创建带有品牌徽标的导航栏时,品牌徽标会将其余部分向下推?
- html - :hover 在段落内的悬停链接上不起作用