【发布时间】:2019-10-04 02:27:28
【问题描述】:
我有以下虚假数据。将其读入数组后,它将具有形状 (8, 3)。现在我想根据第一列(ID)拆分数据并返回一个数组列表,其形状为:[(3,3),(2,3),(3,3)]。我认为 np.split 可以通过将一维数组分配给“indices_or_sections”参数来完成这项工作。但是有没有更方便的方法呢?
1 700 35
1 700 35
1 700 35
2 680 25
2 680 25
3 750 40
3 750 40
3 750 40
【问题讨论】:
-
你对非 numpy 解决方案持开放态度吗?
-
如果第一列的值是连续的?
-
np.split(a,np.flatnonzero(np.diff(a[:,0]))+1)非常方便。 -
NumPy 数组通常包含相同类型的数据,并且都测量相同的事物。它看起来很像
pandas会帮助你,因为它明确设计用于处理这样的列数据。
标签: python arrays numpy split reshape