我从“npz”文件中读取了6个名为x1,…x6的数组。我需要对每个数组执行一些数学运算,并将其存储到10个新数组中。我正在以一种非常简单的方式一步一步地做这件事。要读取文件并存储变量
files = np.load("particle.npz")
x1 = files['x1']
x2 = files ['x2']
x3 = files['x3']
x4 = files ['x4']
x5 = files['x5']
x6 = files ['x6']
从上一个数组创建另一个数组
pox1= x1[:,0]
pox2= x2[:,0]
pox3= x3[:,0]
pox4= x4[:,0]
pox5= x5[:,0]
pox6= x6[:,0]
然后创建一些新数组
sq_diff_x1 = np.zeros(40002)
sq_diff_x2 = np.zeros(40002)
sq_diff_x3 = np.zeros(40002)
sq_diff_x4 = np.zeros(40002)
sq_diff_x5 = np.zeros(40002)
sq_diff_x6 = np.zeros(40002)
最后使用for循环执行计算并存储到新数组中
for i in range (len(x1)-1):
sq_diff_x1[i] = (pox1[i]-pox1[0])**2
sq_diff_x2[i] = (pox1[i]-pox1[0])**2
sq_diff_x3[i] = (pox1[i]-pox1[0])**2
sq_diff_x4[i] = (pox1[i]-pox1[0])**2
sq_diff_x5[i] = (pox1[i]-pox1[0])**2
sq_diff_x6[i] = (pox1[i]-pox1[0])**2
代码运行良好,但有没有其他方法可以通过不逐个分配所有内容来自动完成?因为使用我的方法很简单,但当我需要处理100个数组时,这将非常耗时。所以需要一些自动化的东西
在Python中,创建数组列表而不是单独命名的数组是首选方法
看起来数组的大小都一样。因此,我们可以将列表转换为数组:
甚至
如果没有一个具体的小例子,我就无法测试这段代码。我想我的形状是对的
您基本上需要编写一个额外的循环来迭代字典的键
相关问题 更多 >
编程相关推荐