Чтобы добавлять сообщения и комментарии, .

@Nyoroon:
Nyoroon

А тут можно у кого-нибудь поспрашивать тупые вопросы про scipy и numpy (вообще)?

@Equidamoid:
Equidamoid

Как умножить вектор на 2мерный массив скаляров? Хочу в итоге получить 2мерный массив векторов.

@masai:
masai

Parallelizing runtime compiler for numerical Python → iskandr.github.com

@Equidamoid:
Equidamoid

есть ли потери производительности, если использовать ctypes для работы с сишной либой (по сравнению с тем же swig'ом), и, если да, то насколько серьёзные?
ссылки на годные benchmark'и тоже годятся)

@demiazz:
demiazz

Как оказалось, сборка NumPy и SciPy для 64-битной Windows — очень огромная проблема, требующая кросскомпилирования, сначало под линуксом, потом в винде. В общем, поискав малость, нашел репозиторий уже готовых установочных файлов научных и не только библиотек, для Windows для разных версий языка, и для обоих платформ 32 и 64 бита. Ссылочка: lfd.uci.edu И выражаю благодарность, автору этого репозитория.

@demiazz:
demiazz

*говно решил скачать и поставить с исходников два сабжа. Чтобы компилились с архитектурой AMD64, как и весь мой питончик. Но увы. VS не хочет компилить их =(((

@Equidamoid:
Equidamoid

а можно сделать numpy.fromfunction() для функции, возвращающей массив?

@Equidamoid:
Equidamoid

есть 2 массива размерности (дохрена, 3) и функция, которой надо 2 массива (3,). как бы из этого сделать одну табличку (дохрена1, дохрена2) с соответствующими значениями функции для пар из данных массивов?
интересует более красивое решение, чем заполнение по строчкам, если есть. мб что-то насчет таинства vectorize

@alsmirn:
alsmirn

В течение часа упорно втыкался в """ImportError: /usr/local/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: _PyUnicodeUCS4_IsWhitespace""". Забавно, оказалось, что numpy я последний раз собирал с unladen swallow, будь она неладна.

@alsmirn:
alsmirn

компиляю сейчас numpy 1.5.0, заприметил строчку: gcc numpy/linalg/python_xerbla.c . Много думал.)

@alsmirn:
alsmirn

Сука: ImportError: liblapack.so.3: cannot open shared object file: No such file or directory. Хер его знает куда копать. Дома уже посмотрю.

@zeabrah:
zeabrah

Разный cov в numpy и octave:
numpy:
-------
numpy.cov(numpy.random.rand(5,6)).shape
(5,5)

octave:
--------
size(cov(rand(5,6)))
(6,6)

Почему так?! Непонятно. Интересно, а как в Матлабе?

@zeabrah:
zeabrah

Открыл-таки для себя numpy.memmap. Sometimes, my ignorance
surprises even me :)

@gvard:
gvard

np.where(nparr==0)[0] отдаст массив индексов элементов nparr, удовлетворяющих условию (тут — равенство нулю). Удобная функция, пригодилась.

@gvard:
gvard

Есть в numpy structured arrays: вроде многомерный, ан нет — одномерный с многомерным dtype. Эту хрень иногда отдает pyfits, слайсы тут не работают. Нужно его раздербанить на действительно одномерные массивы. Решение в лоб — zip(*strarr) — занимает всю память и несколько минут. Час гугления — и вот решение: nparr = strarr.view('>f8').reshape(-1,3). Оригинальный dtype: [('Wave', '>f8'), ('Flux', '>f8'), ('Sigm', '>f8')]. Сводим dtype к вменяемому, получая действительно одномерный массив и делаем reshape до трехмерного массива. Теперь можно слайсить на здоровье.

@zeabrah:
zeabrah

numpy.ma — Masked arrays for python