É possível realizar uma atualização de matriz de forma numpy
semelhante à forma como o Pandas pode atualizar um dataframe?
Se pandas
eu tiver dois dataframes, posso filtrar um para os valores de atualização e então aplicar o dataframe ao primeiro com a update()
função.
df = pd.DataFrame({'A': [1, 2, 3],
'B': [400, 500, 600]})
new_df = pd.DataFrame({'B': [4, 5, 6]})
df.update(new_df[new_df["B"] > 4])
Não sei se numpy
tem uma função similar. Atualmente, tenho que fazer um loop pelo array em cada elemento.
narr = np.random.rand(10)
new_narr = np.random.rand(10)
for i, c in enumerate(new_narr > narr):
if c:
narr[i] = new_narr[i]
Você pode executar a ação no seu segundo clipe usando uma indexação sofisticada:
Eu fiz as impressões para que você possa ver que fez efeito. Saída:
Claro, esse exemplo em particular seria melhor feito com
np.max
, mas vamos supor que isso fosse parte de algo mais complicado.