python - 如何在另一个数据框列中选择值等于 unqiue 值的行?
问题描述
我有两个数据框如下:
df1:
col1 | col2 |
---|---|
美国广播公司 | 1 |
定义 | 22 |
定义 | 32 |
aac | 53 |
ddf | 53 |
tefg | 53 |
df2:
col1 |
---|
美国广播公司 |
定义 |
aac |
ddf |
tefg |
现在我想保留 df1 中的行,这样 df1 中列“col1”的值存在于 df2“col2”中
有没有一种简单直接的方法可以在 Python 中实现它?
目前,我使用 2 个嵌套的 for 循环以粗暴的方式执行此操作,但它的计算量很大。
解决方案
你可以做:
df1[df1.col1.isin(df2.col1)]
例子:
创建df1
:
data = {'col1': ['a','b','c','d'],
'col2': [1,2,3,4]}
df1 = pd.DataFrame(data)
和df2
:
df2 = pd.DataFrame({'col1': ['a','d']})
那么df1[df1.col1.isin(df2.col1)]
将是:
col1 col2
0 a 1
3 d 4
推荐阅读
- asp.net - IdentityServer4 SPA登录
- javascript - 在深度嵌套的 JSON 中查找具有特定名称的所有键
- javascript - 如何避免 React.js 中的 useEffect 和 useCallback 依赖循环
- charts - 我试图在折线图中显示我的数据,但我无法转换我的数据类型。到 int 和 LocalDateTime
- python - 当我指定相同的宽度时,为什么我的水平条形图中的条具有不同的宽度?
- combinations - 有大小限制的项目组合
- python - 为什么 time.sleep(...) 不受 GIL 影响?
- image - 在 Laravel 中处理来自 Dropzone 的文件块
- angular - 带有 apollo-angular 客户端的 Aws-appsync 订阅
- svm - 文档长度可以用作分类的特征吗?