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

字典操作与列表提取:从DataFrame生成有效坐标列表

解决方案

你需要的是每行非空列对应的坐标列表,所以要先定位到每行的有效列(非NaN的列),再从label_xpos字典中提取对应坐标,以下是两种实现方式:

方式一:直接获取有效列

直接筛选出当前行非空的列名,再映射坐标:

for i in range(0,10): 
    # 获取当前行非空的列名列表
    valid_columns = df.columns[~df.iloc[i].isna()].tolist()
    # 从字典中提取对应坐标
    xclean = [label_xpos[column] for column in valid_columns]
    print(xclean)

方式二:基于已有空列反向推导

如果想保留你现有获取nan_columns的逻辑,可以通过所有列减去空列得到有效列:

# 提前获取所有列的原始列表
all_columns = df.columns.tolist()

for i in range(0,10): 
    nan_columns = df.columns[df.iloc[i].isna()].tolist()
    # 过滤出不在空列列表里的有效列(保持原始列顺序)
    valid_columns = [col for col in all_columns if col not in nan_columns]
    # 提取对应坐标
    xclean = [label_xpos[column] for column in valid_columns]
    print(xclean)

注意:如果用集合差集(set(all_columns) - set(nan_columns))会打乱列的原始顺序,所以推荐用列表推导式过滤来保持顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 07:00:56