我试图在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
这种方法可能很愚蠢。那么,从基本的二维阵列来构建三维阵列的正确方法是什么呢?
干杯。
编辑很好,我做错事,可
我使用Python和Flask将3D图形的X,Y,Z值提供给Javascript (Plotly库)。数据如下所示:
z = [1,1,1,1,1,1,1,1,1,1,1,1];
x = [0.0100,0.0420,0.0500,0.0508,0.0769,0.0883,0.0900,0.1101,0.1256,0.1300,0.1385,0.1607];
y = [0.0131,0.0190,0.0248,0.0250,0.0310,0.0370,0.0384,0.0430,0.0490,0.0530,0.0550,0.0610];
所有这些都是针对一个3D图形的,它看起来像这样:
我正在将一些matlab代码转换为python。我使用一个表示为h x w x d数组的3d体积块,我正在使用SO 中的函数从这个体积中提取更小的3d面片。所以,如果我有32x32x32数组,并提取16x16x16补丁,在处理完每个补丁后,我最终得到了一个形状(2, 2, 2, 16, 16, 16),我想把它放回形状,基本上是反转h x w x d,不循环每个维度的惯用window_nd方法是什么?由于我还需要处理2d和4d数据,因此我希望避免为每个维度创建函数。
我正在使用pandas读取许多.csv文件。每个文件都将生成一个3x5数据文件。
dtx = (pd.read_csv(f).values for f in get_filelist(datadirectory))
我希望将来自各个文件的所有数据组合起来,以便创建一个三维数组(如果我有10个文件,那么我希望最终得到一个形状数组: 10x3x5)。
我可以创建一个空的python列表,并使用for循环追加在dtx中找到的所有数组,但是我想要一个更python的解决方案。我试过了
np.concatenate([tf for tf in dtx])
却没有达到预期的效果。如何将我从.csv文件中读
我正在调用matlab中的python脚本。python脚本需要3个数组作为输入参数:
import sys
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_aspect('equal')
X = np.array(float(sys.argv[1]), dtype
我正在尝试以matlab格式保存Python 3D int数组,其中第三维空间的长度是可变的。我想出的解决办法是
array = np.empty((FirstDim, SecondDim), dtype = object)
for i in range(FirstDim):
for j in range(SecondDim):
array[i][j] = ...
scipy.io.savemat('array', {'array':array})
但问题是,当我访问matlab中的数组变量时,它实际上只是存储在一个2D数组中。
loa
我在网上搜索了如何创建一个3d矢量数组来存储Voxel地形生成的块位置信息,基于Craig在YouTube上的地形生成。我过去也使用过列表和字典,但现在我想尝试使用数组。我已经为块中的块声明了一个3d字节数组。但我不知道如何创建一个Vector3 3d数组或字节3d数组来保持块在空间中的位置。因此,对于如何从位置循环创建三维vectors3数组的任何帮助都是非常感谢的。我是新来的,noOb很抱歉,如果这没有任何意义。
for (int x = 0; x < 2; x++)
{
for (int y = 0; y < 2; y++)
{
for (in
我尝试在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,
我有一个大小的3D矩阵(X,Y,Z),它以Z矩阵的形式存储在数据结构中,每个X×Y的大小。我想重新切片这些矩阵,得到X片,每个Y x Z的大小。换句话说,我想将存储在YZ平面中作为XY片存储的3D矩阵重新定位。用例是将轴位CT图像转换为矢状位图像。我在一个浏览器环境中工作.
下面是我想要达到的目标的一个例子:
我已经在Python中实现了朴素(迭代)解决方案,它每片取O(Y * Z)。我甚至没有费心写出相应的JavaScript实现,因为这种方法太慢了几个数量级。
import glob
import numpy as np
import matplotlib.pyplot as p
我想要创建一个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
我有一个包含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