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

如何通过遍历DataFrame列名批量生成含日期列的子DataFrame?

用for循环按列名批量生成子DataFrame

当然可以用for循环按列名实现,比手动写167次高效太多。

实现思路

主DataFrame里除了首列dates,剩下的列都可以通过遍历列名来处理,每次取dates列和当前遍历的列组合成新的DataFrame。更推荐把这些新DataFrame存到字典里,比单独命名167个变量更整洁好管理。

代码示例

假设主DataFrame名为returns,代码如下:

# 创建字典存储所有子DataFrame
sub_dfs = {}

# 遍历除dates外的所有列名
for col_name in returns.columns[1:]:
    # 组合dates列和当前列生成新DataFrame
    sub_dfs[col_name] = returns[['dates', col_name]]

调用方式

之后要取某一列对应的DataFrame,直接通过列名从字典里调用即可:

# 获取energy对应的DataFrame
energy_df = sub_dfs['energy']
# 获取health_care对应的DataFrame
health_care_df = sub_dfs['health_care']

如果非要单独给每个子DataFrame命名变量(不推荐,变量过多不利于维护),也可以用globals()实现:

for col_name in returns.columns[1:]:
    globals()[col_name] = returns[['dates', col_name]]

这样会自动生成energy、health_care等变量,每个对应包含dates和对应列的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:33:13