Python Pandas如何选取字典中每10个DataFrame进行绘图
错误原因
range(0,len(keys),10) 每次迭代仅返回单个整数,无法同时拆包赋值给 idx 和 key 两个变量,因此触发类型错误。
正确实现
方案1:直接生成目标Key(适配当前key为1~100连续整数的场景)
你需要的目标Key序列为1、10、20……100,直接生成该序列遍历即可:
# 生成目标key列表 target_keys = [1] + list(range(10, 101, 10)) # 遍历获取索引和对应key for idx, key in enumerate(target_keys): dfs[key]['Value'].plot(ax=ax_array[idx], title=f'DataFrame: {key}') plt.tight_layout()
方案2:通用间隔取Key(适配key不连续的场景)
如果字典的key不是连续的整数,可先将key转为列表后按间隔取值:
# 将dict_keys转为可索引的列表 key_list = list(dfs.keys()) # 按间隔10取位置,同时生成对应绘图索引 for idx, pos in enumerate(range(0, len(key_list), 10)): key = key_list[pos] dfs[key]['Value'].plot(ax=ax_array[idx], title=f'DataFrame: {key}') plt.tight_layout()
注意:如果你的字典插入顺序不是1~100升序,方案2取出的key可能不符合预期,优先使用方案1更贴合你的需求。
内容的提问来源于stack exchange,提问作者Zebra125
相关产品推荐
相关产品推荐

