【问题标题】:ValueAccessing data frames with multiple condition applied on columns giving error. Error: The truth value of a Series is ambiguousValueAccessing 具有多个条件的数据框应用于列给出错误。错误:Series 的真值不明确
【发布时间】:2023-03-27 18:15:01
【问题描述】:

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

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()。

【问题讨论】:

  • 欢迎来到 Stack Overflow!如果你能清理问题,尤其是代码,它会更容易提供帮助。

标签: python pandas dataframe


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2015-01-06
    • 2021-09-01
    • 1970-01-01
    • 2021-06-27
    • 2020-10-05
    • 2016-01-23
    相关资源
    最近更新 更多