You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何判断多个DataFrame是否非空并拼接结果字符串

DataFrame非空判断拼接实现方案

你原有逐次判断的逻辑可以通过列表配对+推导式简化,避免重复编写冗余的if/else分支,完整可运行代码如下:

def
def check_df_status(df1, df2, df3, df4, df5):
    # 配对每个DataFrame和对应的非空提示文本
    df_map = [
        (df1, "df1 not empty"),
        (df2, "df2 not empty"),
        (df3, "df3 not empty"),
        (df4, "df4 not empty"),
        (df5, "df5 not empty")
    ]
    # 筛选所有非空DataFrame对应的提示
    valid_tips = [tip for df, tip in df_map if len(df) > 0]
    # 无符合条件的非空表时直接返回空字符串,否则按要求拼接为加粗格式
    return f"**{', '.join(valid_tips)}**" if valid_tips else ""

逻辑说明

  • 完全沿用你指定的len(df)判断逻辑,没有额外修改核心判断规则,非空表保留提示、空表对应空值直接过滤。
  • 最终拼接时自动用逗号分隔有效提示,外层包裹Markdown加粗语法,输出格式和你给出的示例完全一致。
  • 后续如果需要增减待判断的DataFrame,只需要修改df_map里的配对项即可,不需要重复写判断分支。
  • 如果想使用Pandas原生空判断API,只需要把判断条件len(df) > 0替换为not df.empty,两种写法判断结果完全一致。

效果验证

传入测试数据:df1、df3非空,其余3个DataFrame为空时,函数返回结果:

**df1 not empty, df3 not empty**

和预期输出完全匹配。

内容的提问来源于stack exchange,提问作者lincolnab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 10:45:39