首页 > 解决方案 > 创建一个 numpy 数组的视图/切片,其中有条件

问题描述

我有一个 numpy 数组,其中包含以下格式的数据:

 print(trNp)

 [['9090648.0' '80789.886' '7.0' '41.72']
 ['10304517.0' '80789.886' '19.5' '4.12']
 ['32760.0' '77189.886' '3.2' '88.06']
 ['32760.0' '77189.886' '3.25' '22.74']
 .........

 ['17896415.0' '82589.886' '5.0' '23.92']
 ['17896415.0' '82589.886' '5.1' '6.0']
 ['17896415.0' '82589.886' '5.2' '10.08']
 ['12126325.0' '82589.886' '17.0' '2.38']
 ['12126325.0' '82589.886' '17.5' '2.28']]

我希望能够使用如下条件对我的数组进行切片

a = '12126325.0'
z = 80000
t = (trNp[:,:1] == a) & (trNp[:,1:2] > z)

# create an array where 0th column is == to a and column 1 is == z

然后,我需要对其余列中的数据执行数学函数,例如

m = np.mean(t[:,3:4])

计算第三列中“剩余”数据的平均值。

我觉得我错过了一些简单的东西,但我似乎无法以任何有意义/有效的方式安排这个。

与熊猫打交道值得吗?

我很感激任何帮助!

我还应该说,上面的代码根本不正确..只是为了解释设置。

标签: pythonnumpyconditional-statementsslice

解决方案


推荐阅读