今晚一直在努力解决这个问题。
我有numpy
个数组,其子数组的数据长度不同。
segements_np =
[ [ 30. 20. 20. 30. 40. 50. 50. 60. 50. 70.
70. 60. 70. 60. 80. 80. 90. 90. 90. 100.
100. 110. 120. 560. 510. 460. 430. 380. 380 370
360. 320. 320. 300. 250. 80. 80. 80. 60. 70.
80. 80. 70. 70. 60. 70. 60. 70. 70. 70.
70. 70. 60. 60. 60. 70. 50. 50. 50. 40.
40. 40. 40. 30. 40. 40. 40. 40. 40.]
[ 30. 40. 50. 50. 60. 50. 70. 70. 60. 70.
560. 510. 460. 430. 380. 360. 320. 320. 300. 250.
40. 40. 40. 30. 40. 40. 40. 40. 40.]]
我不知道每个段在加载数据文件时的大小,也不知道我将拥有多少段。我有脚本将数据文件分成这些段。
我想对它们进行各种计算,因此numpy
数组。例如,我想segments_np.max()
但是,由于它们的大小不同,因此这些命令不会按原样运行。
我已经尝试将数组大小(零)初始化为我知道不会被数据I段填充的大小,然后尝试将实际数据值添加到该(初始化数组)中。从而规范化每个子阵列的大小。但是,我无法正确初始化此数据,无法将数据复制到初始化数组中。
我也尝试过:
peaks_np = array([ segments_np.max(i) for i in range( len(segments_np) ) ])
那些工作和我做错了还是有更好的方法来做到这一点?
感谢!!!
答案 0 :(得分:1)
尝试将段存储为numpy数组的Python列表。然后你可以去
peaks_np = array([s.max() for s in segments])