我正在读取json文件的特定值,我想将这些(十万个)放在一个数组中,所以我想到了不同的可能性:
来自“ A”
Json file 0:[x0,y0,x1,y1,x2,y2,...]
Json file 1:[x0,y0,x1,y1,x2,y2,...]
到“ B”
[[x0,x0,x0,x0,...][y0,y0,y0,....]],[x1,x1,x1,x1,...][y1,y1,y1,....],[]...]
然后,我对每个'B'数组进行简单的运算。
要到达那里,我想到了3种不同的方法:
# read row per row
for key, key2, key3:
dic[key][key2][key3].append(original_frame[key][key2][0::3])
# compute for transposed
for list in dic[key][key2][key3].T.tolist():
compute mean & stdev for list
# takes 6.3 s
# read column per column
for key, key2, key3, i:
dic[key][key2][key3][i].append(original_frame[key][key2][0::3][i])
# compute for original list
for list in dic[key][key2][key3]:
compute mean & stdev for list
# takes 7.74 s
# stack np.arrays
for key, key2, key3:
dic[key][key2][key3] = np.c_[dic[key][key2][key3], original_frame[key][key2][0::3]])
# compute for original list
for list in dic[key][key2][key3]:
compute mean & stdev for list
# takes 26.5 s
5个目录(关键字),每个目录(关键字2)〜2000个文件,5个关键字(关键字3),每个关键字(i)大约150个数字
因此,似乎每行添加一行并转置是最快的,这就是为什么我很困惑,我期望完全相反。我现在在一个较小的数据集上对其进行了测试,因此恐怕转置会以更多的值爆炸,您对此有何看法。也许还有我没想到的另一种可能性?