我有一个从列表转换的数组,当我试图得到它的形状时,我只得到一个数字。这样地:
list1=[1,2,3,4,5]
a1=numpy.array(list1)
print a1.shape
而我得到了
(5,)
然后我试着
list2=[[1,2,3,4,5]]
a2=numpy.array(list2)
list3=[[1],[2],[3],[4],[5]]
a3=numpy.array(list3)
print a1+a2
print a1+a3
我明白了
[[ 2 4 6 8 10]]
[[ 2 3 4 5 6]
[ 3 4 5 6 7]
[ 4 5 6 7 8]
[ 5 6 7 8 9]
[ 6 7 8 9 10]]
好像a1的工作原理和a2一样。我能那样想吗?如果我把a1当成a2,除了形状法,会不会有问题?
你可以看看这篇文章,它已经澄清了所有与numpy形状有关的事情。(编辑:标记为同一问题副本的问题)
这段简单的代码还可以帮助您获得一些见解:
import numpy as np
list1=[1,2,3,4,5]
a=np.array(list1)
print a.shape
# (5,)
## set be to be the transpose of a
b = a.T
print b.shape
# (5,)
print np.inner(a,b)
# 55
print np.inner(a,a)
# 55
尝试:
list1=[[1,2,3,4,5]]
a=numpy.array(list1)
print a.shape
这将给你(1,5),一行,5列。
这是:
list1=[[1],[2],[3],[4],[5]]
a=numpy.array(list1)
print a.shape
你会得到(5,1)
问题内容: 我尝试了解如何使用来处理数组(线性代数中的向量)。 在以下示例中,我生成两个 和: 对我来说,和根据线性代数定义具有相同的形状:1列,3列,但不适合。 现在,该 产品: 我有三个不同的输出。 和之间有什么区别?为什么点不起作用? 这些点产品也存在一些差异: 问题答案: 请注意,您不仅在处理一维数组: 因此,是2D阵列。您还可以在:(1,3)的输出中看到这一点,因为(3,)是一个维度,它
问题内容: 有人遇到过这个问题吗?假设您有两个类似以下的数组 有没有一种方法可以比较b中a中的哪些元素?例如, 我正在尝试避免循环,因为要花费数百万个元素才能解决问题。有任何想法吗? 干杯 问题答案: 实际上,有一个比以下任何一种方法更简单的解决方案: 所得的c为:
好的,我对python和numpy还比较陌生,我想做的是取一个随机生成的整数数组,检查每个数字是否多次出现,例如如果它会告诉我6出现两次。或者如果则每个整数都是不同的。
例如,对于 我想得到 有没有办法不用for循环或使用? 编辑:实际数据由1000行组成,每行100个元素,每个元素的范围从1到365。最终目标是确定有重复的行的百分比。这是一个作业问题,我已经解决了(用for循环),但我只是想知道是否有更好的方法来做它与Numpy。
问题内容: 假设我有一个整数的NumPy数组,如下所示: 我想找到数组的开始和结束索引,其中值的值大于重复的x倍(例如5倍)。因此,在上述情况下,其值为22和6。重复的22的开始索引为3,结束的索引为8。重复6相同。Python中是否有特殊的工具对您有所帮助?否则,我将遍历数组索引以获取索引,并将实际值与前一个进行比较。 问候。 问题答案: 使用@WarrenWeckesser在此处给出的和方法来
问题内容: 几年前从这个问题开始,在numpy中是否有规范的“移位”功能?我从文档中看不到任何东西。 这是我正在寻找的简单版本: 使用它就像: 这个问题来自于我昨天尝试[编写快速滚动产品的](http://codingdict.com/questions/163825尝试。我需要一种“转移”累积乘积的方法,我所能想到的就是在中复制逻辑。 因此比快得多。此版本的功能执行得更好: 更快的版本只是简单地