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

如何关联宝可梦数据集的Path列与Name列 匹配对应宝可梦图片路径

宝可梦路径与名称匹配问题解决方法

现有数据集如下:
Dataset
你的代码存在以下几处问题:

  • 缩进错误:split_path=i.split('/') 行没有缩进到for循环体内,不会随循环执行
  • 比对逻辑错误:遍历所有路径时仅和第一行的宝可梦名称pok['Name'][0]比对,无法匹配其他行的名称对应路径
  • 赋值符号误用:pok['new_path'] == i 用了逻辑判断符号==,不会执行赋值操作,赋值需要使用=
  • 整列赋值错误:直接对pok['new_path']赋值会覆盖整列数据,无法实现行一一对应

修复后的实现方法

方法1:循环遍历(适合小数据集)

for idx, row in pok.iterrows():
    split_path = row['Paths'].split('/')
    # 可打印split_path确认宝可梦名称所在的索引位置,再调整取值
    path_poke_name = split_path[5]
    if path_poke_name == row['Name']:
        pok.loc[idx, 'new_path'] = row['Paths']

方法2:pandas向量化操作(效率更高,适合大数据集)

# 提取路径中的宝可梦名称生成临时列
pok['path_name'] = pok['Paths'].str.split('/').str[5]
# 匹配名称一致的行,赋值对应路径
pok['new_path'] = pok.loc[pok['path_name'] == pok['Name'], 'Paths']
# 可选:删除临时辅助列
pok.drop('path_name', axis=1, inplace=True)

注意:如果路径拆分后宝可梦名称不在索引5的位置,可以先打印单条路径的拆分结果确认实际索引,再调整代码中的取值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:24:03