获取错误a.empty,a.bool(),a.item(),a.any()或a.all()

时间:2019-11-12 06:20:15

标签: python python-3.x pandas

我必须阅读excel,如果列值满足某些条件,我必须添加一些内容。 下面是输入excel enter image description here

如果Value> 50,我只需要输入名称和值

下面是我的脚本。

   df = pd.read_excel(file)
   print (df[df['Value'] > 50]) #prints the name and values 
   if df[df['Value'] > 50]:
       print (df['Value'])

我收到ValueError。 ValueError:DataFrame的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。 请帮助我。

预期输出: enter image description here

2 个答案:

答案 0 :(得分:1)

如果要在通过掩码过滤之前测试至少一个值>50,请对标量anyTrue使用False

df = pd.read_excel(file)

mask = df['Value'] > 50
if mask.any():
    df1 = df[mask]
    print (df1)

如果不需要if语句:

df1 = df[df['Value'] > 50]
print (df1)

您还可以选中using if truth statements with pandas

答案 1 :(得分:0)

假设您要打印所有大于50的值,请执行以下操作:

print(df[df['Value'] > 50].values)