我正在处理一个需要根据多种条件创建大量标志的数据帧。我使用的是np.where
,但现在我遇到了这个错误
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
为了可复制性和简单性,我只将产生错误的代码部分与使用的列一起共享。正在使用的数据帧:
Data Uniques day_a1 day_a2 day_a3
0 1 1 3 NaN NaN
1 2 2 14 15.0 NaN
2 2 1 10 10.0 NaN
3 3 1 10 10.0 10.0
802 2 2 12 NaN 29.0
806 1 1 29 NaN NaN
生成错误的代码:
df['flag_3.3.3.1.1'] = np.where(
(
(df['Data'] == 3) &
(df['day_a1'] != 10) &
(df['Uniques'] == 3) & #I ran this separately and it was fine
(df['day_a1'] > 27 or df['day_a1'] < 4).any()),'flag',np.nan)
我似乎仍然有问题后,密码. any()
后的或
.
试着替换
(df['day_a1'] > 27 or df['day_a1'] < 4)
由
((df['day_a1'] > 27) | (df['day_a1'] < 4))
注意使用了|
和附加的括号表示优先级。
我在Java中有一个与MySQL连接的多类项目,我可以与这个SQL数据库建立连接,但当我试图将它读入数组时,它得到的是废话,而不是所请求的信息。我做错了什么? 它在sql定义下面出现了一条弯曲的线条,说它们从来没有被读取过,但我就是不明白为什么会这样!它构建得很好,可以看到数据库中有行,但它返回以下内容: 显示“java2assignment3.dvd@5e0010bc”和“java2assign
我有一个包含两个碎片的mongodb集群,每个碎片是一个包含3个节点的复制集,还有一个包含3个节点的配置服务器集群。 除了尝试使用$out运算符在聚合管道的末尾编写集合之外,一切似乎都很正常: 这将返回以下错误: 执行脚本。 错误:assert:command failed:{“ok”:0,“errmsg”:“listindexes failed:{ok:0.0,errmsg:\”not mast
我是JS的学生。我有一段代码返回了一个错误。 这是返回的语法错误。你们能解释一下我做错了什么吗?
不久前,我从https://pip.pypa.io/en/stable/installing/在我意识到我的python版本allready附带了pip之前。我成功地使用它下载了pygame,但现在我正在尝试下载numpy,无论我尝试了什么,它都会返回下面的错误。 我已经尝试重新安装pip和python,但没有任何改变。我认为这与我不小心从上面的链接下载pip并拥有两个版本的pip有关。当我卸载p
(在本例中,假设是的有效索引,并且代码不会引发) 编辑:问题不是关于使用的必要性,而是关于我选择这样做时在性能上的任何收益或损失。没有它,就会创建一个变量。使用它,返回的值被存储在其他地方,也许是以一种更有效的方式。