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

如何用Python一行代码实现DataFrame非空判断及对应逻辑

多DataFrame空值检查的简洁实现

核心思路

将单个DataFrame的判断与处理逻辑封装为可复用的函数,再通过一行代码批量遍历所有目标DataFrame,彻底避免冗余重复代码。

实现方案

基础版(一行批量处理)

先定义处理单个DataFrame的函数,再用列表推导式完成批量操作:

import pandas as pd
import numpy as np

def process_single_df(df):
    if not df.empty:
        df['test_col'] = np.nan
    else:
        print('data is empty')

# 假设dfs是包含所有需要处理的DataFrame的列表
[process_single_df(df) for df in dfs]

进阶版(带标识的空值提示)

如果需要明确区分哪个DataFrame为空,可以给每个DataFrame添加名称标识:

# 以(名称, DataFrame)的元组形式存储目标数据
named_dfs = [('user_df', user_df), ('order_df', order_df), ('product_df', product_df)]

def process_named_df(name, df):
    if not df.empty:
        df['test_col'] = np.nan
    else:
        print(f'DataFrame [{name}] is empty')

# 一行完成批量处理
[process_named_df(name, df) for name, df in named_dfs]

极简一行式(无需单独定义函数)

如果追求极致简洁,可使用lambda表达式结合map函数实现:

# dfs为目标DataFrame列表
list(map(lambda df: df.assign(test_col=np.nan) if not df.empty else print('data is empty'), dfs))

注:assign会返回新的DataFrame,若需要原地修改原DataFrame,建议使用前面的函数封装方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 05:48:24