我有两个数据帧df1和df2,分别是majestic million数据和代理请求数据。我正在尝试将排名添加到df2,如果它在majestic million上,如果不是,则使用1000001作为排名
df1
GlobalRank Domain
0 1 google.com
1 2 facebook.com
2 3 youtube.com
3 4 twitter.com
4 5 microsoft.com
5 6 linkedin.com
6 7 instagram.com
7 8 wikipedia.org
8 9 plus.google.com
9 10 apple.com
df2
flds count
0 google.com 784565
1 office365.com 36912
2 doubleclick.net 287232
3 facebook.com 239662
4 campsystems.com 231264
5 live.com 211577
6 googlesyndication.com 19233
7 linkedin.com 187754
8 apple.com 146298
9 yahoo.com 128401
期望输出:
df2
flds count GlobalRank
0 google.com 784565 1
1 office365.com 36912 1000001
2 doubleclick.net 287232 1000001
3 facebook.com 239662 2
4 campsystems.com 231264 1000001
5 live.com 211577 1000001
6 googlesyndication.com 19233 1000001
7 linkedin.com 187754 6
8 apple.com 146298 10
9 plus.google.com 128401 9
实现这一目标的最佳方式是什么
尝试:
输出:
注意:由于基于df2的一列,您只能从df1获得一列,因此可以使用
map
而不是merge。map的输入是一个pd.Series,它是使用序列映射到值的索引创建的您也可以使用pandas.DataFrame.merge尝试右连接:
相关问题 更多 >
编程相关推荐