如何通过循环高效调用存储过程生成多个DataFrame?
高效实现方案
当然可以通过循环简化重复代码,更推荐用列表或字典存储生成的DataFrame——相比创建match1至match10这类零散变量,集合类存储方式更便于后续批量操作(比如合并、遍历处理)。
方案一:列表存储结果
用列表按顺序保存每个日期对应的DataFrame,索引对应原手动命名的序号(注意列表索引从0开始):
matches = [] for date in listOfDates: df = sp_data(startDate=date, endDate=date) matches.append(df)
访问示例:matches[0]对应原match1,matches[9]对应原match10。
方案二:字典存储结果(带日期标识)
如果需要通过日期快速定位对应DataFrame,用字典以日期字符串为键存储,可读性更强:
matches_dict = {} for date in listOfDates: date_key = str(date) matches_dict[date_key] = sp_data(startDate=date, endDate=date)
访问示例:matches_dict['20220524']直接获取对应日期的DataFrame。
进阶简化:列表推导式
追求代码简洁的话,可通过列表推导式一行完成列表创建:
matches = [sp_data(startDate=date, endDate=date) for date in listOfDates]
额外实用技巧
若后续需要合并所有DataFrame为一张大表,直接调用pandas.concat()即可,无需逐个处理零散变量:
import pandas as pd combined_df = pd.concat(matches, ignore_index=True)
内容的提问来源于stack exchange,提问作者K.Best
相关产品推荐
相关产品推荐

