python返回元组_python – numpy.where返回一个元组的目的是什么?
當我運行此代碼時:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6])
print(np.where(a > 2))
獲得一個指數數組是很自然的,其中一個> 2,即[2,3,4,5],但我們得到:
(array([2, 3, 4, 5], dtype=int64),)
即一個空的第二個成員的元組.
然后,為了獲得numpy.where的“自然”答案,我們必須這樣做:
np.where(a > 2)[0]
這個元組有什么意義?它在哪種情況下有用?
注意:我在這里只是談論用例numpy.where(cond)而不是numpy.where(cond,x,y)也存在(參見文檔).
最佳答案 numpy.where返回一個元組,因為元組的每個元素都引用一個維度.
在2個維度中考慮此示例:
a = np.array([[1, 2, 3, 4, 5, 6],
[-2, 1, 2, 3, 4, 5]])
print(np.where(a > 2))
(array([0, 0, 0, 0, 1, 1, 1], dtype=int64),
array([2, 3, 4, 5, 3, 4, 5], dtype=int64))
如您所見,元組的第一個元素是指相關元素的第一維;第二個元素指的是第二個維度.
這是一個經常使用的常規numpy.當你要求數組的形狀時,你也會看到它,即一維數組的形狀將返回一個帶有1個元素的元組:
a = np.array([[1, 2, 3, 4, 5, 6],
[-2, 1, 2, 3, 4, 5]])
print(a.shape, a.ndim) # (2, 6) 2
b = np.array([1, 2, 3, 4, 5, 6])
print(b.shape, b.ndim) # (6,) 1
總結
以上是生活随笔為你收集整理的python返回元组_python – numpy.where返回一个元组的目的是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css33d图片轮播_1.Web前端之C
- 下一篇: nginx修改监听端口号8080_Ngi