python - 组合在特定迭代中可能存在或不存在的多个数据帧
问题描述
我在 for 循环中运行代码。
对于每次迭代,我有多个数据帧 df1、df2、df3、df4.... 我必须将它们组合并创建一个最终数据帧 df_final。这些数据帧中的每一个都以 if 语句开头,因此是否可以生成数据帧是有条件的
现在由于多种情况,有可能不会生成任何或所有个人数据框。
我如何组合它们而不用担心个人数据框是否已经生成?
我尝试使用 try 和 except 但是对于每个数据帧我无法提供条件,因为它们有很多。有更简单的方法吗?
当前错误:
df_final = df1.append([df2, df3, df4])
NameError: name 'df2' is not defined
默认情况下,我应该总是得到df_final = df1
以防没有其他数据帧生成,因为 df1 将永远存在。
注意:我使用了 try 和 except 来进行错误处理,但是由于数据帧的数量很大,它似乎并不实用,因为 try 块只执行一次
解决方案
您可以初始化最终数据框:
df_final = df1
然后使用循环:
for df_temp in [df2, df3, df4]:
try:
df_final = df_final.append(df_temp)
except:
pass
推荐阅读
- javascript - 如何删除数组中的重复属性值
- visual-studio-code - AttributeError:模块“linecache”没有属性“lazycache”
- graphql - Gatsby StaticQuery 不返回值
- apache-kafka - KSQL嵌套json需要在多行中保存键
- kubernetes - 多个入口对象一项服务
- c# - 在模型周围移动模型件
- vba - 为什么我看到运行时错误 3421 - 访问 vba?
- javascript - 如何在 Typescript 中导出 Axios.create
- python - 组合两个 numpy 数组
- java - 如何转换列表