Ищете способ надежно идентифицировать, является ли объект numpy представлением.
Связанные вопросы возникли много раз (here, здесь, здесь), и люди предложили некоторые решения, но все, похоже, имеют проблемы:
- Тест, используемый в
pandas
, теперь должен вызвать что-то, еслиmy_array.base is not None
. Кажется, что это всегда ловить взгляды, но также предлагает множество ложных срабатываний (ситуации, когда он сообщает что-то, является видом, даже если это не так). -
numpy.may_share_memory()
будет проверять наличие двух конкретных массивов, но не будет отвечать в общем случае- (@RobertKurn говорит, что лучший инструмент с 2012 года - любые изменения?)
-
flags['OWNDATA'])
сообщил (третий комментарий первого ответа) в некоторых случаях потерпеть неудачу.
(Причина моего интереса заключается в том, что я работаю над реализацией copy-on-write для pandas, а консервативный индикатор приводит к избыточному копированию.)