我在 NumPy 中有一個矩陣:
[[10, 10],
[11, 10],
[12, 10],
[13, 10],
[14, 10]]
我的目標是在滿足左側元素的特定條件時替換一行。
例如:
我有價值觀:z= 13, x=1, y=0. 我想要類似的東西:
如果左側元素之一等于 z,則用 [xy] 替換該行
到目前為止,我寫了這樣的東西:
import numpy as np
values = np.array([[10, 10],
[11, 10],
[12, 10],
[13, 10],
[14, 10]])
z = 13
x = 1
y = 0
values = np.where(values == [z, ], np.array([x, y]), values)
該代碼適用于替換左元素(x 已更新),但 y 出于某種原因保持不變或以某種方式獲取另一行的值。
有誰知道我應該做什么,或者是否有另一種方法?
uj5u.com熱心網友回復:
嘗試values[values[:, 0] == z] = [x, y]- 即,第一個條目z設定為的行[x, y]。
import numpy as np
values = np.array([[10, 10],
[11, 10],
[12, 10],
[13, 10],
[14, 10]])
z = 13
x = 1
y = 0
values[values[:, 0] == z] = [x, y]
print(values)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/355114.html
