我有一个包含以下格式的数据的文件:
0.0 x1
0.1 x2
0.2 x3
0.0 x4
0.1 x5
0.2 x6
0.3 x7
...
Run Code Online (Sandbox Code Playgroud)
数据由多个数据集组成,每个数据集在第一列中以0开头(因此x1,x2,x3将是一组,x4,x5,x6,x7是另一组).我需要分别绘制每个数据集,所以我需要以某种方式分割数据.最简单的方法是什么?
我意识到每次在第一列遇到0时我都可以逐行检索数据并分割数据,但这似乎非常低效.
eat*_*eat 24
我实际上喜欢本杰明的答案,稍微简短的解决方案是:
B= np.split(A, np.where(A[:, 0]== 0.)[0][1:])
Run Code Online (Sandbox Code Playgroud)
Ben*_*min 15
一旦你有一个长numpy数组中的数据,只需:
import numpy as np
A = np.array([[0.0, 1], [0.1, 2], [0.2, 3], [0.0, 4], [0.1, 5], [0.2, 6], [0.3, 7], [0.0, 8], [0.1, 9], [0.2, 10]])
B = np.split(A, np.argwhere(A[:,0] == 0.0).flatten()[1:])
Run Code Online (Sandbox Code Playgroud)
这将给你B包含三个数组B[0],B[1]并且B[2](在这种情况下;我添加了第三个"部分"来向我自己证明它正常工作).