python - 从 python 数组中选择行

标签 python arrays numpy multidimensional-array

我有两个数组。假设它们看起来像这样:

    time1 = [ 1 2 3 ] and time2 = [ 2 4 6]
            [ 4 5 6 ]         
            [ 7 8 9 ]         

我只想选择 time1 中第一列在 time2 范围内的行。例如,在此数据集中,我将绘制 [4 5 6] 行,因为 4 在 2 - 6 的范围内。我尝试从数组 time1 中选择行,如下所示:

selectedtimes = time1(any(time1[:,0] < time2[-1]) and any(time1[:,0] > time2[0]))

我当前收到对象不可调用错误(如下所示),并且陷入困境。有没有更好的方法来重写这一行?

'numpy.ndarray' object is not callable

感谢帮助!

最佳答案

您可以使用numpy.logical_and这里:

>>> np.logical_and(time1[:,0] > time2[0], time1[:,0] < time2[-1] )
array([False,  True, False], dtype=bool)
>>> time1[np.logical_and(time1[:,0] > time2[0], time1[:,0] < time2[-1] )]
array([[4, 5, 6]])

关于python - 从 python 数组中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30494042/

相关文章:

python - 多维数组上的 numpy 高级索引

python - 如何使用glumpy放大/缩小3D图像?

Java - 比较一组值

python - 如何创建具有负索引位置的矩阵?

java - 创建对象数组时出现 NullPointerException

javascript - 动态数组创建尝试将值动态插入数组后不起作用

python - Numpy 1D 与 nD 数组(按引用索引与按值索引)

python - 在 Python 中解析 XML 字符串

python - "ElementNotInteractableException"尝试单击先前隐藏的 div、selenium python 内的元素

python - 从 pandas DataFrame 中的另一个数据帧获取列元素值的快速方法