如何从Pandas DataFrame的路径字符串中提取apple、watermelon等子串
实现方案
默认你存储路径的DataFrame列名为file_path,你可以替换成自己实际的列名。
方案1:使用pathlib(推荐,跨平台兼容性好)
pathlib是Python3.4+内置的标准库,不需要额外安装,处理路径逻辑更严谨,不用操心正反斜杠的兼容问题:
from pathlib import Path import pandas as pd # 提取水果名称,生成新列category df['category'] = df['file_path'].apply(lambda x: Path(x).parts[-2])
原理是把路径拆分成各个层级的元组,路径的倒数第二级就是你要的水果名称。
方案2:使用字符串分割(简单直观,适合新手理解)
因为你的路径结构固定为[前缀]/dnn/train/水果名/图片文件名,直接按路径分隔符拆分取倒数第二个元素即可:
# 正则同时兼容Windows反斜杠和Linux/macOS正斜杠的路径格式 df['category'] = df['file_path'].str.split(r'[\\/]', expand=True).iloc[:, -2]
内容的提问来源于stack exchange,提问作者Rohan singla
相关产品推荐
相关产品推荐

