如何解决如果有空白的 DataFrame,reduce() 进行合并
我想使用 reduce()
函数来合并数据。
final = reduce(lambda left,right: pd.merge(left,right,on='KEY',how="outer"),[df1,df2,df3,df4,df5,df6,df7,df8])
但是,有时某些数据框 df1
到 df8
可能为空(但至少有一个数据框不是空的)。
而且我不想检测是哪一个。
比如这次 df1
到 df7
是空的,只有 df8
是非空的。下次 df1
、df2
、df5
非空。
我该怎么做?
解决方法
您可以使用属性 DataFrame.empty
重写您的函数以检查空白数据框:
def my_merge(left,right):
if left.empty: return right
if right.empty: return left
return pd.merge(left,right)
final = reduce(my_merge,list_of_dfs)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。