我试图在python中创建3D数组,使用Numpy,并将2D数组相乘到三维。我在Numpy多维数组中非常新,基本上我在这里遗漏了一些重要的东西。
在本例中,我试图使用基本的2D数组(10x10)复制20次,从而生成10x10x203D数组。
我开始的二维数组:
a = zeros(10,10)
for i in range(0,9):
a[i+1, i] = 1
我试图创建的3D数组:
b = zeros(20)
for i in range(0,19):
b[i]=a
这种方法可能很愚蠢。那么,从基本的二维阵列来构建三维阵列的正确方法是什么呢?
干杯。
编辑很好,我做错事,可
我想要创建一个3d numpy数组,使用2d numpy数组作为循环,我尝试了许多不同的方法从2d创建3d数组,但是每次都会给我带来错误。这就是我所做的,端点数组应该有一个(10,3,3)的维度。
#this is a sample code
arr=[]
for i in range(10):
a=np.random.rand(3,3)
arr=np.stack(a,arr)
#arr=np.append(arr,a)
#arr=np.array([arr,a])
#arr[i]=a
我有一个函数,它以numpy数组(A)作为输入。根据数学计算,这个数组可以是一个2d的数组,也可以是一个三维的数组。有一个整数m,它可以是任意数,除非数组是2D,否则m的值总是0。我想把A的声音传递给另一个函数。因为A既可以是3D的,也可以是2D的,所以我尝试了3D风格的切片。
def fun(A):
... some code
ans = fun2(A[:,:,m]) #The value of m is 0 if A is 2D
当A是2D时,这给了我一个IndexError
IndexError: too many indices for array
如果A是2D的话,我
我搜索堆叠溢出,但找不到这个具体问题的答案。对不起,如果这是一个天真的问题,我是一个新手,蟒蛇。
我有几个2d数组(或列表),我想把它们读入python中的3d数组(列表)中。在Matlab中,我可以简单地完成
for i=1:N
# read 2d array "a"
newarray(:,:,i)=a(:,:)
end
因此,newarray是一个三维阵列,"a“是沿三维排列的2d切片。
在python中有简单的方法可以做到这一点吗?
编辑:我目前正在尝试以下内容:
for file in files:
img=mpimg.i
假设我们有三个一维数组A (m个元素),B (n个元素)和C (k个元素)。 有没有python numpy函数可以将上面的内容作为输入,并输出一个3D矩阵(维度:m x n x k),由此索引i,j,k的每个条目都具有值Ai * Bj * Ck? np.outer(A,B)适用于2D版本,但我正在寻找3D版本。
我有一个包含230400张图像的文件夹,每个文件在480 x 480图像中代表一个像素。如何使用Python从每个图像中生成一个图像?
我试图创建一个npy数组,但是我相信它导致了一个3d数组而不是一个2d数组:
import cv2
import glob
import numpy as np
data = []
files = glob.glob("./data/*.PNG")
for myFile in files:
print(myFile)
image = cv2.imread(myFile)
data.append(image)
prin
在numpy中寻找一些帮助,并从Multiple2d数组构建3d数组。我想要做一个循环,这样在每次迭代时,我都会创建一个新的2d数组,并在一个现有的3d数组中使它成为一个新的片段。这是我的代码样本。
import numpy as np
import random
import array
a = np.random.randint(0, 9, size=(10, 10)) <-- make random 10x10 matrix
b = a <-- save copy
a = np.random
我有一个100x100x100 numpy数组,它表示由2D片组成的3D卷。
我想要在这卷中的一个对象之间进行互相关联,在这些卷上使用一个从卷中创建的模板,用最好的信号到噪声。
为了让事情变得更简单,我尝试做2D互相关,然后通过在每个切片上做correlate2d,然后将该切片放入一个3D数字数组来建立3D体积。
我已经测试了correlate2d函数,而且所有的功能似乎都很好,但是我希望能够提取出其中任何一个切片的任何部分,并根据测量的协调来制作模板。
#inputdata, a 3D numpy array with x , y and z image data.
mrc = np.arr
我有一个包含n2d数组的3d数组,无论如何,我可以将每个2d数组映射到某个值,而不需要使用python映射中的凸起,或者循环(我被要求只使用numpy函数)。
例如,我想做这样的事情:
def map2d_arr(arr2d): #this is for the exampe only can be any condition on the 2d array
return sum(arr2d) > 10;
a = np.arange(27).reshape((3,3,3))
res = np.map(map2d_arr,a) # how to do something like
我试图理解与列表列表相比,使用numpy列表对numpy object数组的内存和其他开销的影响。
会随着维数的变化而改变吗?(如2D vs 3D vs N-D )。
我在使用.shape,.T数组时可以想到的一些好处是,像numpy这样的东西可以更快地将它们转换为np.matrix矩阵。
还有别的事吗?
另外,如果有人感兴趣,我使用的对象是:
import gmpy2 as gm
gm.mpfr( '0' ) # <-- this is the object
编辑:
为了澄清一下,我对n
我尝试在Python中通过用2D数组填充来形成3D数组。N是一个根据正在读取的文件而变化的数字。矩阵正在形成为3D,但似乎只有1个‘层’,而我期望它有N个层。似乎N个“层”没有传递到形成的数组中。
import numpy as np
#'rot' is a 3D matrix of shape (N,3,3)
a=np.array(rot[:,0,0])
b=np.array(rot[:,0,1])
c=np.array(rot[:,0,2])
d=np.array(rot[:,1,0])
e=np.array(rot[:,1,1])
f=np.array(rot[:,1,
给定具有以下结构的DataFrame:
Date | Site | Measurement Type | Value
-----------------------------------------------
1/1/2020 | A | Temperature | 32.3
1/2/2020 | B | Humidity | 70%
我想要创建一个3D“枢轴表”,其中第一个轴表示站点,第二个表示日期,第三个表示度量类型,值存储在每个元素中。
例如,如果我每天在5个地点进行一周的测量,同时测量温度和湿度,所需的输出将是一个形状(5、7、2
在Python中,我从一个2D数组(a)转换了一个字符串(在下面的示例中是b)。如何从字符串中重建2D数组?
我想我使用了错误的函数"numpy.fromstring“,因为c在这里是一个一维数组。
import numpy
a = numpy.array([[1,2],[3,4]], dtype='float32')
b = a.tostring()
c = numpy.fromstring(b, dtype='float32')