python - 二维数组中元素的顺序测试?

标签 python arrays list testing iteration

如果这是一个简单的问题,我深表歉意 - 我是 Python 和 numpy 的新手 - 但非常感谢你的帮助。

我有一个按行和列排列的二维 numpy 数据数组,第一列代表时间,后续列显示每个时间点的不同参数值。

我想从上到下读取给定的数据列(即时间 = 0 到时间 = 行数),并按顺序测试该列中的每个元素以找到第一个实例(并且只有第一个instance) 该列中的数据值满足给定条件的位置。 这不同于通过使用 numpy arange() 函数进行测试和迭代来“一次性”测试列中的“所有”或“任何”元素。

作为伪代码中的最小工作示例,如果我的数组是:

myarray = 
[[1, 4 ....]
 [2, 3 ....]
 [3, 8 ....]
 [4, 9 ....]....]

...其中第一列是时间,第二列包含每个时间点收集的数据值。

我希望能够从上到下依次遍历行并测试:

threshold = 5
for row = 0 to number of rows:
    if data in [column 1, row] > threshold:
        print "The first time point at which the data exceed the threshold is at time = 3 "
        break

执行此操作的最 Pythonic(即高效且易于理解)的方法是什么?

在迭代测试之前是否需要将数组转换为列表,还是可以直接对数组进行顺序迭代测试?

希望这有某种意义......

期待已久

戴夫

最佳答案

试试这段代码:

>>> myarray = [[1, 4 ],  [2, 3 ],  [3, 8 ], [4, 9 ]]
>>> stop = False
>>> for row in myarray:
        for d in row:
            if d > 5:
                print("Row: ", row, "Data: ", d)
                stop = True
                break
        if stop:
        break

('Row: ', [3, 8], 'Data: ', 8)
>>>

关于python - 二维数组中元素的顺序测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24757611/

相关文章:

python - 日期时间 strftime 格式

javascript - Jinja - 将元素转换为字符串并调用 JS 函数

java - 如何在 Spark 中在 JSONArray 上应用 flatmap 并转换为 JSONObject?

java - 返回 boolean 值的方法

c# - 使 DataGridView 在使用基类对象列表时显示派生类对象的属性

python - 如何获取pyspark数据框中具有最大值的列的名称

python - scikit 从 coef_ 学习预测

python - 如何对二维数组进行平均?

c# - 元组列表 <double,double>。逗号而不是 double 值中的点

java - 如何使用 Jsoup 递归遍历 HTML 树?