Numpy - łączenie kilku wyrażeń w tablicy

0

Czy można zapisać coś takiego:

        newest_value_array = np.where((newest_value_array == 9) &
                                      (last_value_array != 11) &
                                      (last_value_array != 12) &
                                      (last_value_array != 13) &
                                      (last_value_array != 14) &
                                      (last_value_array != 21) &
                                      (last_value_array != 22) &
                                      (last_value_array != 23)
                                      , 90, newest_value_array)

W inny sposób? Ten kod po prostu jest brzydki

0
newest_value_array = np.where(np.all(newest_value_array, where=[11, 12, 13, 14, 21, 22, 23, 30]), 90, newest_value_array)

W ten sposób?
To jest ładnie? Dobrze się to czyta?

0

Już lepiej, zamiast podanej listy w nawiasach, [] można dać parametr: where=a_list; będzie jeszcze krócej, i czytelniej.

0

@lion137:
Zdziwiła mnie jedna rzecz:

  File "<__array_function__ internals>", line 4, in any
TypeError: _any_dispatcher() got an unexpected keyword argument 'where'

Czy to było od konkretnej wersji? Mam Pythona 3.8 i średnio mogę podbić

1 użytkowników online, w tym zalogowanych: 0, gości: 1