要仅存储矩阵的上半部分(包括对角线),您应该能够执行以下操作:
import numpy as np
data = np.load([filename])
flat = []
for a in data:
flat.append(a[np.triu_indices(100)])
np.savez([filename], *flat)
Run Code Online (Sandbox Code Playgroud)
然后将它们加载回来:
import numpy as np
flat = np.load([filename])
data = []
for name, a in flat:
arr = np.zeros((100,100),dtype=[dtype])
arr[np.triu_indices(100)] = a
arr = arr + arr.T - np.diag(arr.diagonal)
data.append(arr)
data = np.array(data)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |