第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何有效地找到numpy矩陣中一行的最左邊的非空值的索引列?

如何有效地找到numpy矩陣中一行的最左邊的非空值的索引列?

藍山帝景 2021-05-30 16:57:52
我想知道是否有一種快速的方法可以找到一個 numpy 矩陣的每一行的最左邊的非空值的索引??梢哉f我有這個:data = np.array([[np.nan, np.nan, 10,      1],                 [np.nan, 30,      50,      np.nan],                 [40,      np.nan, np.nan, 5],                 [np.nan, np.nan, np.nan, 10]])我想分別返回10、30、40和10的索引,即2、1、0和3。以下工作但它并不完全有效(例如,fn函數(shù)內部的循環(huán)很慢):def fn(row):    for idx, v in enumerate(row):         if not np.isnan(v):              return idxnp.apply_along_axis(fn, 1, data)
查看完整描述

1 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

獲取非空值的布爾數(shù)組,np.isnan然后獲取每行中的第一個argmax(1)索引,最后索引到輸入數(shù)組中 -


In [19]: idx = (~np.isnan(data)).argmax(1)


In [20]: idx

Out[20]: array([2, 1, 0, 3])


In [21]: data[np.arange(len(idx)), idx]

Out[21]: array([10., 30., 40., 10.])


查看完整回答
反對 回復 2021-06-01
  • 1 回答
  • 0 關注
  • 364 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號