ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().异常解决方法

我遇到的情况是使用 if 判断了可能是 pd.DataFrame 数据的变量。我需要根据 flag 的值决定返回值

错误代码

import pandas as pd

def get_df(flag):
    flag = flag  # 标志
    df = pd.DataFrame()  # 模拟数据
    if flag:
        df = df
    else:
        df = None
    return df

data = get_df(flag=True)

# 错误片段
if data:
    print(data)
else:
    print(data)

改正

判断 data 的类型是否是 pd.DataFrame 再执行下面代码

在后面使用过程中,还遇到要判断pd 数据 是否为空,使用 pddata.empty 即可

# 例子 字符串 isinstance(value, str)
if isinstance(data, pd.DataFrame):
    print(data)
else:
    print(data)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐