当前位置: 首页 > 知识库问答 >
问题:

numpy数组形状中只有一个元素[重复]

易俊驰
2023-03-14

我有一个从列表转换的数组,当我试图得到它的形状时,我只得到一个数字。这样地:

    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,除了形状法,会不会有问题?

共有2个答案

昌山
2023-03-14

你可以看看这篇文章,它已经澄清了所有与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
澹台星光
2023-03-14

尝试:

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尝试。我需要一种“转移”累积乘积的方法,我所能想到的就是在中复制逻辑。 因此比快得多。此版本的功能执行得更好: 更快的版本只是简单地