如何从 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']
我有一个每年温度值的二维数组,其中每年都有一些值。所以数组看起来像这样:
[[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']