Python numpy.where条件选择二维数组中的特定垂直列
说我们有Python numpy.where条件选择二维数组中的特定垂直列,python,arrays,numpy,Python,Arrays,Numpy,说我们有 a = numpy.arange(25).reshape(5,5) > array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]]) 去 numpy.where(a[1]) > array([0, 1, 2, 3, 4])
a = numpy.arange(25).reshape(5,5)
> array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
去
numpy.where(a[1])
> array([0, 1, 2, 3, 4])
然后像
a[1][numpy.where(a[1])]
> array([5, 6, 7, 8, 9])
我可以选择数组的水平行和相应的值,但是如何使用类似的where条件只选择特定的垂直列呢
即
我不确定这是否是您的确切意思,但您可以使用
[:,column_number]
索引列,其中:
表示“所有行”:
然而,上述内容仅相当于a[:,1]
:
>>> a[:,1]
array([ 1, 6, 11, 16, 21])
我不确定这是否是您的确切意思,但您可以使用
[:,column_number]
索引列,其中:
表示“所有行”:
然而,上述内容仅相当于a[:,1]
:
>>> a[:,1]
array([ 1, 6, 11, 16, 21])
查看本教程,了解如何在numpy阵列()上应用切片。至于你的问题,答案是:
a[:,1]
查看本教程,了解如何在numpy阵列()上应用切片。至于你的问题,答案是:
a[:,1]
非常感谢,尽管逗号
,
代表什么?这就是分隔“行”索引和“列”索引的方式。所以[2,3]
会选择行2
,列3
非常感谢,尽管逗号,
代表什么?这就是如何区分“行”索引和“列”索引的。所以[2,3]
将选择行2
,列3