如何从 col1 = a 中的值的 numpy 数组中提取行

How to extract rows from numpy array where value in col1 = a

我有一个每年温度值的二维数组,其中每年都有一些值。所以数组看起来像这样:

[[1960, a, b, c, d, e, f ...],
 [1960, a1, b1, c1, d1, e1, f1 ...],
 [1960, a2, b2, c2, d2, e2, f2 ...],
 [1961, a, b, c, d, e, f ...],
 [1961, a1, b1, c1, d1, e1, f1 ...],
 [1961, a2, b2, c2, d2, e2, f2 ...],
 [1962, a, b, c, d, e, f ...],
 [1962, a1, b1, c1, d1, e1, f1 ...],
 [1962, a2, b2, c2, d2, e2, f2 ...]....]

我需要为第 0 列为 1961 的行提取第 1 列中的所有内容(因此所有 a 值)。

有人知道我会怎么做吗? 谢谢!

设 L 为您的数组。然后使用下面的代码。

L[L[:, 1] == 1960][:, 0] 

适用于常规 python 列表的解决方案:

[item[1] for item in array if item[0]==1961]

其中 array 是您的二维输入数组。

使用切片
至select秒值

a[a[:, 0] == '1961', 1]

或对于所有值

a[a[:, 0] == '1961']