import numpy as np
test = np.array([1, 1, 1, 0, 0, 0, 1])
t = test[test == 1]
print(t)
当我打印“t”时,为什么代码总是打印"1“(即"True")值?Numpy系列中是否有默认情况下只选择true值的行为,除非我定义了true或false?
我正在学习Data Camp Python课程,但找不到答案,所以联系这个小组寻求帮助。
谢谢。
发布于 2018-12-24 22:37:52
显然,您已经将变量t
编写为仅等于数字1。无论何时打印t
,输出都将始终为1。尝试向列表中添加更多不同的数字,然后再次打印t
。您还将再次收到1数组。
当将变量test
的值更改为3时,如果数组中存在,则至少会得到3。否则,数组将为空。
像test == car
这样的字符串也是如此。
更新:使用索引进行切片
基本上,您已经从它们的索引中输出了数字。
让我们看一下下面的数组
x = np.array([1,0,1,1,1,0)
现在,让我们通过输入x[x]
输出0,1,0,0,0,1
让我们将操作分解为几个部分。
X是数组中数字的变量。但是,当像这样将x放在方括号中时,您实际上是在命令程序只输出使用索引的数组中的前两个数字。
让我们说得更清楚一些。数组1,0,1,1,1,0的索引是0,1,2,3,45。
当键入x时,则1将仅输出。好的,让我们试试x1。它将输出0。这就是索引的工作方式。由于给定的索引,xx将输出0,1,0,0,0,1。
希望这能回答你的问题。
https://stackoverflow.com/questions/53917956
复制相似问题