You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从CSV文件的同类基础URL中各随机抽取1条URL

同基础域名URL随机抽样实现方案

需求说明

现有包含数千条URL的CSV文件,需要从每类基础域名相同的URL中各随机选取1条,选取顺序无限制,仅需满足随机选取要求。

实现代码

import pandas as pd
from urllib.parse import urlparse

# 读取本地CSV文件,实际使用时替换为你的文件路径即可
# df = pd.read_csv("your_file_path.csv")

# 示例测试数据,实际使用时可删除
data = {'url':['https://alabamasymphony.org/event/shamrocks-strings', 
               'https://alabamasymphony.org/event/emperor', 
               'https://mobilesymphony.org/event/fanfare',
               'https://mobilesymphony.org/event/the-fireworks-of-jupiter/',
               'https://www.hso.org/concerts/liszt-fantasy/',
               'https://www.juneausymphony.org/apr2019/']}
df = pd.DataFrame(data)

# 提取每个URL的基础域名作为分组依据
df["domain"] = df["url"].apply(lambda x: urlparse(x).netloc)

# 按域名分组,每组随机抽取1条记录,最终转为列表格式
result = df.groupby("domain", group_keys=False).apply(lambda x: x.sample(1))["url"].tolist()

print(result)

输出示例

运行代码后输出格式和需求预期一致,示例输出如下:

['https://alabamasymphony.org/event/emperor', 'https://mobilesymphony.org/event/fanfare', 'https://www.hso.org/concerts/liszt-fantasy/', 'https://www.juneausymphony.org/apr2019/']

注意事项

  • 若需要固定随机结果用于复现,可以给sample方法添加random_state参数,例如修改为x.sample(1, random_state=2024),参数值可自定义
  • 若存在格式不规范的无效URL,可以在提取域名步骤增加异常处理逻辑过滤脏数据,避免解析报错
  • 该方案针对数千条量级的数据运行效率极高,无需额外性能优化

内容的提问来源于stack exchange,提问作者Aniiya0978

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:45:04