首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >难以使用Pandas将多个语句链接在一起

难以使用Pandas将多个语句链接在一起
EN

Stack Overflow用户
提问于 2020-07-18 18:57:19
回答 1查看 64关注 0票数 1

我正在尝试从excel电子表格中筛选多个列,以简化我工作中的一些任务。这是我认为最好的解决方案,而不必多次编写和重写文件。我很确定这与大分裂变量之前的变量有关。我还尝试使用或不带括号的大分裂变量周围和内部。

下面是我的代码片段:

代码语言:javascript
运行
复制
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

使用(&)运算符和(和)运算符将给出以下错误。

使用和使用时的错误:

代码语言:javascript
运行
复制
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

使用时的错误&:

代码语言:javascript
运行
复制
TypeError: unsupported operand type(s) for &: 'float' and 'float'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-18 19:02:46

好像你想

代码语言:javascript
运行
复制
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中获取布尔值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62972592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档