NumPy不会对数组的列进行切片,只会对行进行切片[关闭]

wkftcu5l  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(92)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

21天前关闭
Improve this question
我在切片下面的NumPy数组时遇到问题。我想取出第一列。我几乎尝试了所有组合,但无法切片我想要的列;它总是切片行。

print(solved_thetas())
# >>> array([[1.72, 3.04],
#            [0.50, -2.01]], dtype=object)
print(solved_thetas()[0][:])
# >>> array([1.72, 3.04], dtype=object)
print(solved_thetas()[:][0])
# >>> array([1.72, 3.04], dtype=object)

字符串
我希望对solved_thetas()数组的第一列进行切片。

xmd2e60i

xmd2e60i1#

给出:

>>> n
array([[1, 2],
       [3, 4]])

字符串
你可以从第一列中得到值:

>>> n[:,0]
array([1, 3])


关于第二个:

>>> n[:,1]
array([2, 4])


或者使用省略号形式:

>>> n[...,0]
array([1, 3])
>>> n[...,1]
array([2, 4])


如果你想保持维度,你可以这样做:

>>> n[:,:1]
array([[1],
       [3]])

>>> n[:,1:2]
array([[2],
       [4]])


阅读basics on indexing索引和尺寸索引工具。
你的尝试不起作用的原因是每个[]都是单独计算的。你对array[0]的尝试返回第一行,而array[0][:]只是array[0]的一个副本。如果你反转它们,情况也是一样的。

相关问题