我想使用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)
关于python - 如果有空白 DataFrame 则 reduce() 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67492323/