繁体   English   中英

如何使用 for 循环在循环的每次迭代中创建新的数据帧?

[英]How to use a for loop to create new dataframes on each iteration of the loop?

目前,for 循环的每次迭代都被送入使用布尔索引的“扇区”数据框,并将结果导出到 excel。 “ia 部门”是一个包含字符串值的列表,例如医疗保健、consumer_staples、财产等。

for item in ia_sectors:
 sector = all_data[all_data["IA Sector"] == item]
 sector.to_excel(str(item)+".xlsx")

是否可以修改代码,以便 for 循环的每次迭代都创建一个新的数据框,其中包含 item 中的迭代名称及其来自布尔索引的各自迭代结果? 例如

for item in ia_sectors:
 item0 = all_data[all_data["IA Sector"] == item0]
 sector.to_excel(str(item0)+".xlsx")
 item1 = all_data[all_data["IA Sector"] == item1]
 sector.to_excel(str(item1)+".xlsx")
 item2 = all_data[all_data["IA Sector"] == item2]
 sector.to_excel(str(item2)+".xlsx")

我想稍后在代码中使用这些新数据框。

提前谢谢了。

国际大学联盟,

dd = {}
ia_sector_data = all_data[all_date['IA Sector'].isin(ia_sectors)]

for n, g in ia_sector_data.groupby('IA Sector'):
    dd[n] = g
    g.to_excel(f'{n}.xls')

现在,您的数据框可以在字典 dd 中访问。

使用 dd['Sec1'] 等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM