从python数组中选择行

2024-05-17 08:47:28 发布

您现在位置:Python中文网/ 问答频道 /正文

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

    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

感谢您的帮助!你知道吗


Tags: and数据对象numpyobjectis错误绘制
2条回答

您可以在此处使用^{}

>>> 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]])

使用forif

>>> time1 = ((1,2,3),(4,5,6),(7,8,9))
>>> time2 = (2,4,6)
>>> for x in time1:
...  if x[0] in time2:
...   print x
... 
(4, 5, 6)
>>> 

相关问题 更多 >