我有两个数据帧df
和df1
。 df
包含人物的姓名和属性。
df Name Age
0 Jack 33
1 Anna 25
2 Emilie 49
3 Frank 19
4 John 42
而df1
包含两个人之间的联系数量信息。在df1
中,我们可以包含一些不在df
中出现的人。
df1 Name1 Name2 c
0 Frank Paul 2
1 Julia Anna 5
2 Frank John 1
3 Emilie Jack 3
4 Tom Steven 2
5 Tom Jack 5
我要删除df1
或Name1
中Name2
的所有行,而不显示在df
中。
df1 Name1 Name2 c
0 Frank John 1
1 Emilie Jack 3
答案 0 :(得分:3)
使用isin
-
df1[df1[['Name1', 'Name2']].isin(df.Name).all(1)]
# Name1 Name2 c
#2 Frank John 1
#3 Emilie Jack 3
或者:
df1[df1.Name1.isin(df.Name) & df1.Name2.isin(df.Name)]
# Name1 Name2 c
#2 Frank John 1
#3 Emilie Jack 3
答案 1 :(得分:1)
也可以使用firstIndex(where:)
Hello
.Hello
Hello.world