[英]How to find the intersection between two columns from two different dataframes
I'm trying to compare two different columns from two different DataFrames.我正在尝试比较来自两个不同 DataFrame 的两个不同列。
test_website1
Domain
0 www.google.com
1 www.facebook.com
2 www.yahoo.com
test_website2
Domain
0 www.bing.com
1 www.instagram.com
2 www.google.com
testlist = []
def match_domain(col1, col2):
for a in col1:
v1 = a
for b in col2:
v2 = b
if v2 == v1:
testlist.append(v1)
test_website1 = df_website_test1['Domain']
test_website2 = df_website_test2['Domain']
When I call:当我打电话时:
match_domain(test_website1, test_website2)
The output should be just "www.google.com" output 应该只是“www.google.com”
but instead this is the output I get.但这是我得到的 output。
['www.google.com', 'www.facebook.com', 'www.yahoo.com']
Completely Stuck!完全卡住了! Thank you for your help in advance!提前谢谢你的帮助!
The standard way to do this in pandas is an inner merge
(default is how='inner'
):在 pandas 中执行此操作的标准方法是内部merge
(默认为how='inner'
):
pd.merge(df1['Domain'], df2['Domain'])
# Domain
# 0 www.google.com
If you really want a list, chain tolist
:如果你真的想要一个列表,链到tolist
:
pd.merge(df1['Domain'], df2['Domain'])['Domain'].tolist()
# ['www.google.com']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.