請問一維陣列執行where()函數是否一定會回傳值? 有辦法改成回傳索引值嗎?
寫作業時,用一維陣列執行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] 以上只是我的想法,希望能夠有幫助@@",或者是再告訴我我是不是想錯了 謝謝你^^