逐元素比较失败;返回标量,但将来将执行元素比较
Posted
技术标签:
【中文标题】逐元素比较失败;返回标量,但将来将执行元素比较【英文标题】:elementwise comparison failed; returning scalar, but in the future will perform elementwise comparison 【发布时间】:2020-04-07 21:02:13 【问题描述】:n1data = pcatrain_data[train_labels[0, :] == i, :]
n2data = pcatrain_data[train_labels[0, :] == j, :]
pcatrain_data 的形状是 (14395,40) train_labels 的形状是 (1,14395)
据我了解,“train_labels[0, :] == i”将返回大小为 14395 的布尔值列表,其值为 true,且等于 i。
而且由于 pcatrain_data 的大小为 14395,它不应该导致任何错误。
这是导致问题的代码。 我正在尝试从 pcatrain_data 的特定行中获取所有列。 我想要 train_labels[0, :] == i 的行。
我不知道为什么会出现这个错误,因为我以前做过这个并且它有效。都在python3中
错误是“FutureWarning:元素比较失败;返回标量,但将来会执行元素比较”
【问题讨论】:
请不要将代码添加为图像。将其编辑到问题的正文中 【参考方案1】:你需要写
import warnings
import numpy as np
warnings.simplefilter(action='ignore', category=FutureWarning)
然后警告就会消失
【讨论】:
虽然这确实删除了警告,但根本问题仍然存在。以上是关于逐元素比较失败;返回标量,但将来将执行元素比较的主要内容,如果未能解决你的问题,请参考以下文章
为啥我得到这个错误结果=方法(y)FutureWarning:元素比较失败;而是返回标量
Python loc + isin 返回 FutureWarning(元素比较失败)