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

Python多文件夹数据处理:如何获取符合条件的列表对应索引i?

解决索引获取问题的方案

问题根源是你只存储了数据列表X,没有同步记录对应的文件夹索引i,导致筛选后无法关联回原始索引。以下是修改后的代码和说明:

修改思路

  • 不再单独存储X,改用列表存储索引-数据对(比如元组(i, A))
  • 筛选时直接对索引-数据对进行判断,同时保留符合条件的索引
  • 最后提取所有符合条件的索引,得到目标列表

修改后的代码

import pandas as pd

N = 50
I = [8, 11, 19, 37, 40, 42]
# 存储(索引i, 处理后的数据A)的列表
data_with_index = []

for i in range(1, N+1):
    if i in I:
        continue
    
    file_loc = f"C:\\Users\\{i}\\Data_220_beta_0.1_47.0_53.0ND.csv"
    df = pd.read_csv(file_loc)
    A = df["% of Nodes not visited"].to_numpy()
    
    # 清理NaN和转换数据
    A = [x for x in A if str(x) != 'nan']
    A = [eval(e) for e in A]
    
    # 保存索引和对应数据
    data_with_index.append((i, A))

# 筛选出元素不全相同的条目,提取对应的索引
valid_indices = [i for i, a in data_with_index if min(a) != max(a)]
print("符合条件的i列表:", valid_indices)

关键修改点

  • 用data_with_index替代原有的X,每个元素是(i, A),同步保留索引和数据
  • 列表推导式直接遍历data_with_index,判断min(a) != max(a)后提取i
  • 移除了未使用的reduce导入,精简代码

运行后就能直接输出符合条件的索引列表,比如[20,27,37,45,48,50]这类结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:11:29