如何實施:t=np.where(<exists at least 1 zero in the same column of t>,t,np.zeros_like(t))以“pythonic”的方式?如果 t 在該列中至少有 1 個零,則此代碼應將 t 中的所有列設置為零例子 :1 1 1 1 1 10 1 1 1 1 11 1 0 1 0 1應該轉向0 1 0 1 0 10 1 0 1 0 10 1 0 1 0 1
2 回答

炎炎設計
TA貢獻1808條經(jīng)驗 獲得超4個贊
any是你需要的
~(arr == 0).any(0, keepdims=True) * arr
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1

繁星淼淼
TA貢獻1775條經(jīng)驗 獲得超11個贊
t
如果t
該列中至少有 1 個零,則此代碼應將所有列設置為零
執(zhí)行此特定任務的最簡單方法:
t * t.min(0)
一種更通用的方法(如果您有一個具有不同值的數(shù)組并且條件是:如果一列至少出現(xiàn)一次 some_value,則將該列設置為 some_value)。
cond = (arr == some_value). any(0)arr[:, cond] = some_value
添加回答
舉報
0/150
提交
取消