这与Select rows from a DataFrame based on list values in a column in pandas非常相关,而不是只查找一列,我想在两列中查找匹配的元组 .
可重复的例子
import pandas as pd
df = pd.DataFrame([[1, 2, 'a'], [1, 3, 'b'], [1, 3, 'c'], [1, 4, 'b'], [1, 2, 'c'], [1, 7, 'c']])
df.columns = ['id1', 'id2', 'name']
print(df)
示例DataFrame
id1 id2 name
0 1 2 a
1 1 3 b
2 1 3 b
3 1 4 b
4 1 2 c
5 1 7 c
我有一个元组列表!
badTuples = [(1, 2), (1, 3), (1, 5)]
在元组的第一个元素中, (1, 2)
; 1
用于引用 'id1'
列中的值, 2
用于引用 'id2'
列中的值 .
我想删除这些具有匹配 ('id1', 'id2')
元组元素的行!有时候在元组列表中有一对 (1, 5)
,它们在DataFrame中不存在!在我的示例中,我们在DataFrame中只有 (1, 2), (1, 3) and (1, 4)
作为 id1, id2
对!
在这种情况下,我希望跳过该对 (1, 5)
.
输出DataFrame应该是:
id1 id2 name
3 1 4 b
5 1 7 c
1 回答
使用:
要么: