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

如何用for循环实现将DataFrame按固定步长拆分为PC1-PC17变量?

解决方法

方法1:动态创建PC1-PC17变量

直接通过globals()函数动态生成对应名称的变量,和你手动定义的效果完全一致:

for i in range(1, 18):
    start_idx = (i - 1) * 23
    end_idx = i * 23
    globals()[f'PC{i}'] = dfA.iloc[start_idx:end_idx]

方法2:用字典存储(更推荐)

动态生成独立变量不利于后续批量操作,更推荐用字典统一管理这些拆分后的DataFrame:

pc_data = {}
for i in range(1, 18):
    start_idx = (i - 1) * 23
    end_idx = i * 23
    pc_data[f'PC{i}'] = dfA.iloc[start_idx:end_idx]

# 访问示例:pc_data['PC1'] 对应原来的PC1

原代码问题说明

你之前的循环有两个核心问题:

  • 没有定义循环变量i的取值逻辑,也没关联到x的循环
  • PC[i]的写法不成立,因为PC不是预先定义的列表/字典,无法通过索引赋值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:20:36