python - Pandas 使用元组和通配符进行过滤
问题描述
有没有办法将 pandasisin
方法与元组和通配符一起使用?
在下面的示例中,有没有办法out
通过[True, False, True]
重写代码和使用通配符搜索来实现 tuple [1,None]
?
df = pd.DataFrame({'ID':[1,2,3], 'Age':[60,3,5]})
dfDict = pd.DataFrame({'ID':[1,3], 'Age':[None,5]})
display(df, dfDict)
tup = [tuple(x) for x in dfDict.values]
out = df.apply(tuple, 1).isin(tup).values.tolist()
print(out)
解决方案
在您的示例中,只需检查ID
如下:
lst = dfDict.ID.values.tolist()
out = df.ID.isin(lst).values.tolist()
print(out)
[True, False, True]
df
检查您的值是否存在的另一种方法dfDict
是使用merge
pandas 中的方法并在进行连接时询问,indicator
如下所示:
merged = pd.merge(df, dfDict[['ID']], on=['ID'], how='left', indicator=True)
print(merged)
ID Age _merge
0 1 60 both
1 2 3 left_only
2 3 5 both
这回答了你的问题了吗?
推荐阅读
- python-3.x - 仅运行 google-appengine 模块的 python3 路径
- elixir - 将 elixir 添加到 travis 但禁用默认命令
- python - 如何在anaconda navigator中将tensorflow环境转移到root环境
- symfony - Symfony4 为后端用户提供可编辑的全局应用设置
- c# - AspNetCore 中的 websocket 没有 ping
- c# - 通过dll注入在主线程中执行代码
- python - 将PageRank作为值的节点字典写入Excel Python
- c - 使用 OpenGL 和 LibCurl 等 C 库
- python - 将文件名添加到 .csv 文件开头的第一列
- php - myPHP If 语句总是使用 int number 触发为 true