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)