logo
Loading...

請問一維陣列執行where()函數是否一定會回傳值? 有辦法改成回傳索引值嗎? - Cupoy

寫作業時,用一維陣列執行where()函數,發現沒有回傳索引值,而是陣列裡的值,想請問是否一維陣列皆...

請問一維陣列執行where()函數是否一定會回傳值? 有辦法改成回傳索引值嗎?

2021/01/24 下午 08:55
Numpy 陣列中不同的資料型態
Alex
觀看數:30
回答數:3
收藏數:0

寫作業時,用一維陣列執行where()函數,發現沒有回傳索引值,而是陣列裡的值, 想請問是否一維陣列皆是如此? 執行結果如下圖,陣列為array1 = np.array(range(30)) ![image](http://kwassistfile.cupoy.com/00000177347257BC0000005C6375706F795F72656C656173655155455354/1611222124034/large)

回答列表

  • 2021/01/24 下午 09:27
    李柏霆
    贊同數:2
    不贊同數:0
    留言數:0

    是回傳索引值沒錯,只是因為你的array1的索引值剛好跟該索引值對應的值一樣所以才出現這個結果(ex:索引值=1,在索引值=1的位置的值也是1)

  • 2021/01/24 下午 11:59
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,你好
    根據 [文件](https://numpy.org/doc/stable/reference/generated/numpy.where.html) ,np.where 會回傳符合條件的元素所在的索引值(index)。

    嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的 Facebook技術部落格 ,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ

  • 2021/02/13 上午 03:59
    小目
    贊同數:0
    不贊同數:0
    留言數:0

    是不是因為還沒有reshape? 依據 array1= np.array(range(30)) array1會呈現 [0 1 2 3 4 5 6 7 8 9 ... 30] 是一個一維array 所以當使用where去搜尋的時候,他回傳的確實是餘數為1的情況 剛好是元素1,7,13,19,25 也剛好在索引位置是[1][7][13][19][25] 以上只是我的想法,希望能夠有幫助@@",或者是再告訴我我是不是想錯了 謝謝你^^