[英]Extracting Path from URLs in DataFrame
我敢肯定,这个问题的答案很简单——我只是因为某种原因做不到。
我想在不使用 for 循环的情况下从 URL 的 DataFrame 中提取 URL 路径 - 因为我将针对 1M+ 行运行它并且循环太慢。
from urllib.parse import urlparse
d = {'urls': ['https://www.example.com/ex/1','https://www.example.com/1/ex']}
df = pd.DataFrame(data=d)
df
df['urls'].apply(urlparse)
以上是我所在的位置,它返回 urllib 返回的 URL 的所有部分的 object
所需的最终结果是 DataFrame,如下所示:
d = {'urls': ['https://www.example.com/ex/1','https://www.example.com/1/ex'], 'url_path': ['/ex/1', '/1/ex']}
如果有人知道如何解决这个问题 - 我将不胜感激!
谢谢!
urlparse
的文档字符串清楚地表明它的结果是一个命名的 6 元组,其中包含以下字段: <scheme>://<netloc>/<path>;<params>?<query>#<fragment>
所以(1)在索引2
处获取元组,然后使用orient='list'
转换为 dict :
df['paths'] = df['urls'].apply(lambda x: urlparse(x)[2])
df.to_dict(orient='list')
> {'urls': ['https://www.example.com/ex/1', 'https://www.example.com/1/ex'],
'paths': ['/ex/1', '/1/ex']}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.