Pandas DataFrame的Path列提取前5级子文件夹实现问题
你可以通过字符串拼接把列表转换为目标路径格式,示例代码如下:
方法1:基于你现有代码补充
你已经提取到了前5级目录的列表,直接对列表做反斜杠拼接即可:
# 不需要末尾反斜杠用这个 df['first5Directory'] = df['first5Directory'].apply(lambda x: '\\\\' + '\\\\'.join(x)) # 需要匹配你预期输出里部分路径末尾带反斜杠的效果用这个 df['first5Directory'] = df['first5Directory'].apply(lambda x: '\\\\' + '\\\\'.join(x) + '\\\\')
方法2:一步完成提取+拼接
可以把拆分、提取、拼接合并为一步操作,更简洁:
df['first5Directory'] = df['Path'].apply(lambda x: '\\\\' + '\\\\'.join(x.split('\\\\')[1:6]) + '\\\\')
逻辑说明
- 路径按
\\\\拆分后第一个元素为空字符串(对应路径开头的\\),取索引1~6刚好是前5级目录名 - 用
\\\\拼接5个目录名,开头补\\还原路径格式 - 末尾拼接
\\即可匹配你预期输出里的末尾反斜杠效果,不需要可以删除这部分逻辑
内容的提问来源于stack exchange,提问作者Gon
相关产品推荐
相关产品推荐

