2 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
files = np.load("particle.npz")
x_s = [files[key] for key in files.keys()]
創(chuàng)建數(shù)組列表而不是單獨(dú)命名的數(shù)組是 Python 中的首選方法。
pox_s = [x[:,0] for x in x_s]
看起來數(shù)組的大小都相同。所以我們可以把列表變成數(shù)組:
pox_s = np.array(pox_s)
甚至
x_s = np.array(x_s) # (6, 40002, ?)
pox_s = x_s[:,:,0] # (6, 40002)
sq_diffs = (pox_s - pox_s[:,[0]])**2 # (6, 40002)-(6,1)
沒有一個(gè)具體的小例子,我無法測(cè)試這段代碼。我想我的形狀是對(duì)的。

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
您基本上需要編寫一個(gè)額外的循環(huán)來遍歷字典的鍵。
files = np.load("particle.npz")
sq_diff_list = []
temp = []
for i in list(files.keys()):
arr = files[i]
for x in arr:
temp.append((x-arr[0])**2)
sq_diff_list.append(temp)
temp = []
添加回答
舉報(bào)