【发布时间】:2019-12-17 21:16:27
【问题描述】:
我有一个形状为(7761940, 16) 的熊猫数据框。我使用 np.array_split 将其转换为 7762 个 numpy 数组的列表,每个数组的形状为 (1000, 16) 。
现在我需要从每个数组中取出前 50 个元素的切片,并从中创建一个形状为 (388100, 16) 的新数组。数字 388100 来自 7762 个数组乘以 50 个元素。
我知道这是一种切片和索引,但我无法管理它。
【问题讨论】:
-
列表理解:
np.vstack([arr[:50,:] for arr in split_list])应该可以工作。或者将原始数组重新整形为 (7762, 1000,16),将切片使用[:,:50,:]重新整形,然后使用 (-1,16) 重新整形为 2d。 -
并非所有数组都有 1000 行。填充可能会更好。
标签: python arrays list numpy split