我需要使用url作为主键来合并两个数据帧。然而,url中有一些额外的字符串,如在df1中,我有https://www.mcdonalds.com/us/en-us.html,而在df2中,我有https://www.mcdonalds.com
我需要从url中删除.com之后的/us/en-us.html和https://以便可以使用两个dfs之间的url执行合并。下面是一个简化的例子。解决这个问题的办法是什么
df1={'url': ['https://www.mcdonalds.com/us/en-us.html','https://www.cemexusa.com/find-your-
location']}
df2={'url':['https://www.mcdonalds.com','www.cemexusa.com']}
df1['url']==df2['url']
Out[7]: False
谢谢
使用^{} 并隔离主机名:
您可以按照其他人的建议使用^{} ,也可以使用^{} 。但是,两者都不会处理
www.cemexusa.com
。因此,如果您的密钥中不需要该方案,您可以使用如下内容:下面是一个完整的工作示例:
print(joined)
的输出将是:本答复中可能有其他特殊情况未处理。根据您的数据,您可能还需要处理省略的
www
:{}和{}之间有什么区别
这取决于您的用例和您想要提取的信息。因为您不需要URL的
params
,所以我建议使用urlsplit
URL解析起来并不简单。看看标准库中的urllib module
以下是如何删除域后的路径:
相关问题 更多 >
编程相关推荐