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

如何在pandas DataFrame中将URL路径的所有父目录拆分为单独行

实现方案

核心思路是先对每个路径预先生成所有层级的完整父路径列表,再将列表拆分为多行,示例代码如下:

# 定义生成层级完整路径的工具函数
def generate_full_hierarchy(path: str) -> list:
    # 清理结尾多余的/,按/分割路径,过滤掉开头空字符串
    path_segments = [seg for seg in path.rstrip('/').split("/") if seg]
    # 拼接生成每一级的完整路径
    return [f"/{'/'.join(path_segments[:i+1])}" for i in range(len(path_segments))]

# 应用函数后展开为多行
dfPagesTotal = dfPagesTotal.assign(
    fullsection=dfPagesTotal["fullsection"].apply(generate_full_hierarchy)
).explode("fullsection").reset_index(drop=True)

逻辑说明

  • 原路径开头的/会导致分割后生成空字符串,首先过滤掉无效空段;代码中已经提前做了结尾多余/的清理,避免结尾带/的路径生成无效空层级
  • 对有效目录段列表做切片遍历,逐次拼接出从根目录到当前层级的完整路径
  • 最后通过explode方法将每个路径对应的完整层级列表拆分为独立行
  • 示例中的/sport/tennis/us-open经过处理后,会先生成["/sport", "/sport/tennis", "/sport/tennis/us-open"]列表,展开后完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:45:02