我正在尝试从excel电子表格中筛选多个列,以简化我工作中的一些任务。这是我认为最好的解决方案,而不必多次编写和重写文件。我很确定这与大分裂变量之前的变量有关。我还尝试使用或不带括号的大分裂变量周围和内部。
下面是我的代码片段:
file = "07-14-2020.xlsx"
df=pd.read_excel(file)
    disco2=df[df["Discontinued"] == 'N']
    close2=df[df["Store Closeout"] == 'N']
    oi2=df[df["Order Indicator+"] != 'S']
    dropship2=df[df["Primary Vendor"] == 'VENDOR']
    
    bigsplit = (df[(disco2) & (close2) & (oi2) & (dropship2)]) <--Error here使用(&)运算符和(和)运算符将给出以下错误。
使用和使用时的错误:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().使用时的错误&:
TypeError: unsupported operand type(s) for &: 'float' and 'float'发布于 2020-07-18 19:02:46
好像你想
disco2 = df["Discontinued"] == 'N'
close2 = df["Store Closeout"] == 'N'
oi2 = df["Order Indicator+"] != 'S'
dropship2 = df["Primary Vendor"] == 'VENDOR'
    
bigsplit = df[disco2 & close2 & oi2 & dropship2]这里我们得到了布尔级数,它可以与&组合。在原始代码中,您可以生成df切片。Error说,不清楚如何从dataframe中获取布尔值。
https://stackoverflow.com/questions/62972592
复制相似问题