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

如何用for循环创建多个命名规范的DataFrame

解决循环生成独立DataFrame不被覆盖的问题

我明白你遇到的困扰了——每次用for循环拉取API数据生成DataFrame时,前一次的数据总是被新的覆盖,这大概率是因为你一直在用同一个变量名(比如df)来接收每次循环的结果对吧?别担心,用一个字典来存储这些独立的DataFrame就能完美解决这个问题,下面给你具体的实现思路和代码示例:

核心思路

不用单一变量存储DataFrame,而是创建一个字典,把每个元组里指定的名称作为字典的键,对应拉取到的DataFrame作为值。这样每个命名的DataFrame都会被独立保存,不会互相覆盖。

代码示例

假设你的待拉取数据元组列表是类似这样的(第一个元素是API需要的时间间隔参数,第二个是你想要的DataFrame名称):

# 示例:你的元组列表结构
fetch_tasks = [
    ("5min", "five_minute_data"),
    ("1h", "hourly_data"),
    ("1d", "daily_data"),
    ("7d", "weekly_data")
]

接下来是完整的实现代码:

import pandas as pd
import requests  # 假设你用requests调用API,可替换为你实际使用的库

# 初始化空字典,用于存放所有独立的DataFrame
df_collection = {}

# 遍历每个拉取任务
for interval, df_name in fetch_tasks:
    # 1. 调用API拉取数据(替换成你实际的API请求逻辑)
    api_endpoint = f"https://your-api-url.com/get_data?interval={interval}"
    response = requests.get(api_endpoint)
    raw_data = response.json()  # 假设API返回JSON格式数据
    
    # 2. 将数据转换为DataFrame
    current_df = pd.DataFrame(raw_data)
    
    # 3. 将DataFrame存入字典,用指定名称作为键
    df_collection[df_name] = current_df

如何访问独立的DataFrame

之后你可以通过字典的键(也就是你指定的名称)来直接访问对应的DataFrame:

# 查看5分钟间隔的数据前5行
print(df_collection["five_minute_data"].head())

# 查看日度数据的基本信息
df_collection["daily_data"].info()

额外小技巧:批量保存DataFrame

如果需要把这些独立的DataFrame保存到文件,还可以批量处理:

for df_name, df in df_collection.items():
    # 保存为CSV文件,文件名就是你指定的DataFrame名称
    df.to_csv(f"{df_name}.csv", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:13:38