根据布尔表达式过滤 DataFrame 时出错
我试图根据以下表达式过滤我的 DataFrame:
df = df[not(df['var1'] == (1 or 2 or 3) and df['var2'].isnull())]本质
上,我想保留数据帧,不包含 var1 值为 1、2 或 3 的行,并且 var2 没有输入。但是,我得到以下返回值:
ValueError: Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
我不知道该使用哪一个以及何时使用其中几个他们返回一个空的 DataFrame。我该如何解决这个问题?
I am trying to filter my DataFrame based on the following expression:
df = df[not(df['var1'] == (1 or 2 or 3) and df['var2'].isnull())]
Essentially, I would like to keep the dataframe without the rows where var1 has a value of 1, 2 or 3 and there is no input for var2. However, I get the following return:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
I don't know which one to use and when I use a couple of them they return an empty DataFrame. How can I solve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论