【发布时间】:2022-01-13 15:18:49
【问题描述】:
我有一个名为 DataSets 的 2D numpy.ndarray,其中包含超过 200 万个项目。好像是这样的……
[['1.3' '8.7' '2.4' ... 'a' '0' '0']
['1.5' '8.1' '2.7' ... 'a' '0' '0']
['1.9' '8.2' '2.0' ... 'c' '0' '0']
...
['1.2' '9.4' '2.5' ... 'b' '0' '0']
['0.9' '9.0' '2.3' ... 'a' '0' '0']
['1.1' '8.4' '2.8' ... 'd' '0' '0']]
我需要根据每行前 3 列相乘的结果对其进行过滤,例如[0,0] * [0,1] * [0,2]
我正在尝试应用过滤器对此进行排序,但过滤器无法正常工作,因为引用需要索引。
filter_arr = float(DataSets[,0]) * float(DataSets[,1]) * float(DataSets[,2]) <= 25
FilteredDataSet = DataSets[filter_arr]
如果我添加一个索引,过滤器将无法正确过滤并将其转换为 3D 数组。如何纠正过滤器以生成仅包含前 3 行的乘法结果
【问题讨论】:
标签: python multidimensional-array filter numpy-ndarray