如何在Python中动态将data frame列表拆分为多个独立数据框
解决方案
你可以通过Python全局命名空间动态注入变量的方式,批量生成独立的DataFrame对象,无需手动逐个提取,无论列表a中有多少个DataFrame都可以自动完成处理:
方案1:按对应特征名生成变量(推荐)
由于列表a中的每个DataFrame刚好和cat_feature_names中的特征一一对应,直接用特征名作为变量名更易识别:
for feature_name, df_vc in zip(cat_feature_names, a): # 将特征名中的空格替换为下划线,生成符合Python规范的变量名 valid_var_name = feature_name.replace(" ", "_") globals()[valid_var_name] = df_vc
运行完成后,你可以直接通过Brand、Variety、Top_Ten这类变量名直接调用对应的DataFrame。
方案2:按序号生成变量
如果你不需要和特征名关联,也可以用序号作为变量后缀:
for idx, df_vc in enumerate(a): globals()[f"df_{idx}"] = df_vc
运行完成后,df_0对应原a[0]、df_1对应原a[1],以此类推。
补充说明
该实现方式没有数量上限,哪怕列表a中有上万个DataFrame都可以在极短时间内完成拆分,完全不需要手动操作。
内容的提问来源于stack exchange,提问作者rbc-2019
相关产品推荐
相关产品推荐

