小编Tim*_*e W的帖子

既然它已被弃用,那么空数据帧的 .concat() 的替代方案是什么?

我有两个数据框,它们都可以为空,我想将它们连接起来。

在我可以做之前:

output_df= pd.concat([df1, df2])
Run Code Online (Sandbox Code Playgroud)

但现在我遇到了

FutureWarning:不推荐使用 DataFrame 与空或全 NA 条目串联的行为。在未来版本中,在确定结果 dtypes 时将不再排除空列或全 NA 列。要保留旧行为,请在连接操作之前排除相关条目。

一个简单的解决方法是:

if not df1.empty and not df2.empty:
    result_df = pd.concat([df1, df2], axis=0)
elif not df1.empty:
    result_df = df1.copy()
elif not df2.empty:
    result_df = df2.copy()
else:
    result_df = pd.DataFrame()
Run Code Online (Sandbox Code Playgroud)

但这看起来很丑陋。有人有更好的解决方案吗?

仅供参考:这是在pandas发布v2.1.0之后出现的

python concatenation dataframe pandas

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

concatenation ×1

dataframe ×1

pandas ×1

python ×1