Проблема в том, что вызов np.ma.filled
будет демаскировать переменную long
. Также np.meshgrid
не сохраняет маски.
Вы можете сохранить маски сразу после создания, а также создать сетку из масок. Я адаптировал ваш пример соответственно. Что можно видеть, так это то, что все версии numpy mean
учитывают маску. Мне пришлось адаптировать верхний предел (изменился на 2), потому что среднее было равным.
x = np.linspace(1, 10, 10)
y = np.linspace(1, 10, 10)
xm = np.median(x)
ym = np.median(y)
# Note: changed limits
x = np.ma.masked_outside(x, xm-3, xm+2)
y = np.ma.masked_outside(x, ym-3, ym+2)
xmask = np.ma.getmask(x)
ymask = np.ma.getmask(y)
x, y = np.meshgrid(x, y)
xmask, ymask = np.meshgrid(xmask, ymask)
z = 2*x + 3*y
z1 = np.ma.masked_where(np.ma.getmask(x), z)
z2 = np.ma.masked_where(xmask | ymask, z)
print(z1)
print(z2)
print('Type z1, z2:', type(z1), type(z2))
print('Maximum z1, z2:', np.nanmax(z1), np.nanmax(z2))
print('Minimum z1, z2:', np.nanmin(z1), np.nanmin(z2))
print('Mean z1, z2:', np.mean(z1), np.mean(z2) )
print('nan Mean z1, z2:', np.nanmean(z1), np.nanmean(z2) )
print('masked Mean z1, z2:', z1.mean(), z2.mean())
Простое решение состоит в том, чтобы использовать собственный клиент SMB для каждой из Ваших целевых платформ, затем использовать это для монтирования пользовательской файловой системы Samba, реализованной с помощью API Samba VFS. Пользовательские серверы NFS использовались для реализации кросс-платформенных виртуальных файловых систем Unix, но SMB является намного лучшим выбором поддерживать Windows и Linux.
При необходимости в VFS для доступа к клиентским ресурсам, необходимо выполнить сервер Samba с VFS на клиенте и затем использовать обратную петлю или localhost сеть для монтирования диска. Samba широко портирован включая порт к использованию Win32 Cygwin как адаптер.
Я использую jungledisk на всех упомянутых платформах, чтобы скопировать и совместно использовать файлы. При рассмотрении их страницы загрузки Вы будете видеть все платформы, с которыми это совместимо. Я резервирую свой веб-сервер (CentOS x64), mac OSX 10.5 и ПК двойной загрузки (Vista/Fedora) все в соответствии с одной лицензией!
WebDAV. В heartbeat. Это является межплатформенным по своей природе, и существует значительное количество поддержки клиентов, а также достойный серверный код с открытым исходным кодом. Apache mod_dav является Вашим другом.
Поддержка клиентов WebDAV выезда на Mac, Windows и Linux:
Серверы WebDAV с открытым исходным кодом:
И не забывайте смотреть на ресурсы WebDAV.
SSHFS (требует SFTP на стороне хоста). Существуют некоторые ошибки с ним, но нам везло с ним в целом.
Можно использовать Находящийся на воздухе JLAN. JLAN является Реализацией Клиента Java и Сервера Java протоколов CIFS, NFS und FTP. С JLAN может файлы быть совместно использованным по сети, которые доступны через сетевой диск.
Загрузка по http://sourceforge.net/project/showfiles.php?group_id=143373&package_id=248550
Что относительно простого FTP? Или NAS? Палка со стандартным протоколом и у Вас не должно быть проблем при интеграции с ним. Я записал расширение файловой системы SFTP Linux однажды Назад В День, но с большинством Ose, поддерживающих файловые системы непривилегированного режима в наше время, не должно быть слишком трудно интегрироваться с тем, что Вы могли бы выбрать.
Предохранитель не будет работать над Windows.
Мой выбор был бы:
С уважением
Microsoft Live Mesh даст Вам, синхронизировал папки через Windows, Mac, Ваше Сетчатое устройство хранения данных онлайн и телефоны Windows Mobile.