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

使用itertools.product生成指标组合时遇TypeError的技术求助

问题解决:字符串拼接TypeError修复

错误根源是found_subjs里的受试者IDs不是原生Python字符串,大概率是numpy字符串类型(比如从数组/数据框里读取的numpy.str_),直接用+拼接会触发numpy的ufunc匹配错误。

修复步骤:

  • 把s转换为原生Python字符串,用str(s)或者s.item()都可以
  • 推荐用f-string拼接指标字符串,比+更简洁不易出错
  • 路径拼接改用os.path.join或pathlib,避免转义符问题

修复后的代码:

import os
from itertools import product

cs = ["mean", "median", "sigma"]
ds = ["AX", "FA", "fwAX", "fwFA", "fwRAD", "fwVF", "RAD", "TR"]   

for s in found_subjs:
    # 转换为原生字符串
    s_str = str(s)
    # 安全拼接路径
    subj_path = os.path.join(final_destination, s_str)
    os.chdir(subj_path)
    # 生成所有指标组合
    for c, d in product(cs, ds):
        metric = f"{s_str}_ROIstats_{c}_{d}"
        print(metric)

额外优化(用pathlib更优雅):

from pathlib import Path
from itertools import product

cs = ["mean", "median", "sigma"]
ds = ["AX", "FA", "fwAX", "fwFA", "fwRAD", "fwVF", "RAD", "TR"]   

for s in found_subjs:
    s_str = str(s)
    subj_path = Path(final_destination) / s_str
    os.chdir(subj_path)
    for c, d in product(cs, ds):
        print(f"{s_str}_ROIstats_{c}_{d}")

内容的提问来源于stack exchange,提问作者florence-y

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:35:17