考虑以下代码:
arr = np.random.randn(3,3)
print(arr)
>>> array([[-0.46734444, 0.56493252, -0.26263957],
[-0.08779416, -2.29891065, -0.49095811],
[-1.75290304, 0.21304592, -0.91466817]])
我尝试使用以下两种方法获得右上角的2 X 2方阵:
print(arr[:2,1:])
print(arr[:2][1:])
>>> [[ 0.56493252 -0.26263957]
[-2.29891065 -0.49095811]]
>>> [[-0.08779416 -2.29891065 -0.49095811]]
但是,第二种方法给出了错误的答案。我不了解第二种方法的行为。请解释!!
答案 0 :(得分:2)
arr[:2]
将为您提供row[0]
和row[1]
print(arr[:2,1:])
row[0]
和row[1]
并从2行的第一列开始获取所有列。 print(arr[:2][1:])
row[0]
来row[1]
和arr[:2]
希望这会有所帮助。