首页 > 解决方案 > ValueAccessing 具有多个条件的数据框应用于列给出错误。错误:Series 的真值不明确

问题描述

我正在根据应用于两列的条件访问数据框列我有以下代码

def data1(q,t,sub):
    lit=[]
    a=df['teacher']==t & df['subject']==sub
    lit = df[q].where(df['teacher'].values == t) and (df['subject'].values == sub).dropna()

lit = df[q].where(a).dropna()
return lit    

但我收到了这个错误

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

标签: pythonpandasdataframe

解决方案


这是错误消息不是很有帮助的情况。你想使用&而不是and在你的where

df[q].where((df['teacher'].values == t) & (df['subject'].values == sub))

推荐阅读