LINUX.ORG.RU

Приобщиться к python и numpy

 , ,


0

2

Здравствуйте. Я по работе имею дело с законченными программами по работе с сигналами, но хочу углубить своё понимание, имея под рукой подходящий инструмент для экспериментов с данными. На просторах интернета часто советуют как вариант связку python+numpy (или scipy? пока не понял кто есть часть чего). Т.к. видел похожие советы здесь, хотел попросить совета с чего начать, что почитать, может есть какие-то специализированные мануалы-туториалы?

Deleted

Совет: просто бери и используй. Зачем что-то читать? Вот надо открыть файл с сигналом - ищи как открыть. Надо построить спектр - поисковик говорит как. Надо нарисовать график - аналогично. И так далее.

Вот именно так я осваивал numpy и Python.

I-Love-Microsoft ★★★★★
()

Приобщиться к python и numpy

Совет: если не припекает срочно, пропусти этот этап. Лучше осваивай julialang, она имеет гораздо больше смысла для обработки данных и разных других научных задач, чем python+numpy. Единственный недостаток джулии - пока что инфраструктура сильно отстаёт от питона (библиотеки, учебные материалы и т.д.), поскольку до выхода первой стабильной версии ещё пару месяцев. Но джулия развивается очень активно. Хотя, конечно, можешь попробовать и то, и другое.

yvv ★★☆
()
Ответ на: комментарий от yvv

Лучше осваивай julialang, она имеет гораздо больше смысла для обработки данных и разных других научных задач, чем python+numpy.

К этому творчеству изнасилованных матлабом хоть дебаггер то написали уже или так и фигачат принтами? Мой совет автору: не инвестироваться в велосипеды без вменяемого коммьюнити и тулз.

ptarh ★★★★★
()
Ответ на: комментарий от ptarh

Коммьюнити там более чем вменяемое.

yvv ★★☆
()
Ответ на: комментарий от yvv

Ох уж эти евангелисты, нигде от вас покоя нет.

ОП, исхожу из своей практики: на питоне очень удобно мелкие прототипы ваять — целая куча готовых библиотек, не нужно компилировать. С другой стороны, иногда питон (зависит от задачи) медленный, если сравнивать с С, оптимизация кода может занять больше времени, чем использование низкоуровневых языков и прогонки данных.

Но ты просто не слушай дяденек на форуме (и меня тоже) и пробуй сам.

ZERG ★★★★★
()
Ответ на: комментарий от ZERG

С другой стороны, иногда питон (зависит от задачи) медленный

пистон медленный независимо от задачи. просто его иногда можно ускорить сишными либами

upcFrost ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

не использовал жульку, но ППКС

А ты попробуй, она бесплатная.

yvv ★★☆
()
Ответ на: комментарий от upcFrost

пистон медленный независимо от задачи. просто его иногда можно ускорить сишными либами

Вот-вот. Поэтому мой прогноз такой: шансы у жульки вытеснить пистон как минимум из сферы научно-прикладных задач в течении года после выпуска версии 1.0 - выше 50%. На пистоне куча всего уже написана, это сильный аргумент, а у жульки jit компилятор из коробки, и никаких сишных либ не нужно.

yvv ★★☆
()
Ответ на: комментарий от greenman

На гитхабе milestones глянь. Там незакрытых проблем почти не осталось.

yvv ★★☆
()
Ответ на: комментарий от yvv

в течении года после выпуска версии 1.0 - выше 50%

Питон сейчас любой васян знает, и написано под него столько, что переписывать просто никто не будет. То есть это не аргумент, это прям стоп-фактор после которого любые вопросы уровня «давайте менять ЯП» отбрасываются. Плюс скорость разработки. jit компилятор в питоне тоже есть, кстати, так что не аргумент.

micronekodesu ★★★
()
Ответ на: комментарий от micronekodesu

jit компилятор в питоне тоже есть, кстати, так что не аргумент.

Да есть, только он не работает.

Питон сейчас любой васян знает, и написано под него столько, что переписывать просто никто не будет.

Под жульку тоже уже написано не мало, а ведь ещё даже стабильного релиза не было. Кто-то пишет, значит кому-то это нужно.

yvv ★★☆
()
Ответ на: комментарий от yvv

bullshit.

Никто не будет переписывать с питона на julia. Я работаю с биоинформатиками, у них некоторые инструменты годами не трогаются ради проверенных результатов, хотя по скорости проигрывают существенно новым.

ZERG ★★★★★
()
Ответ на: комментарий от yvv

Кто-то пишет, значит кому-то это нужно.

Это как старые физики пишут на фортране77 или с89, только потому что другого не знают. И студентов заставляют страдать.

ZERG ★★★★★
()
Ответ на: комментарий от ZERG

Это как старые физики пишут на фортране77 или с89, только потому что другого не знают. И студентов заставляют страдать.

Ты, гражданин, жопу с пальцем-то не сравнивай. Жулька - это не фортран77, и на ней пишут никакие не старые физики.

yvv ★★☆
()
Ответ на: комментарий от ZERG

Но они же — часть питона? А уже что там внутри — дело десятое

в таком разе все языки хорошие и быстрые, потому что биндинги к крестам даже в пролог и жабку завезли.

upcFrost ★★★★★
()
Ответ на: комментарий от ZERG

Никто не будет переписывать с питона на julia.

Бугога!!! Несколько лет назад такие вот ыксперды тоже самое говорили про питон. Когда я его начал использовать вместо R, он как раз был примерно на уровне жульки.

yvv ★★☆
()
Ответ на: комментарий от yvv

шансы у жульки вытеснить пистон как минимум из сферы научно-прикладных задач в течении года после выпуска версии 1.0 - выше 50%

я б сказал что они ниже 10% на ближайшую пару лет точно.

у жульки jit компилятор из коробки

видел я тесты его производительности на задачах сложнее умножения матриц.

плюс под пистон есть IPython и его производные, плюс JetBrains выкатила свой вариант того же.

upcFrost ★★★★★
()
Ответ на: комментарий от yvv

Да есть, только он не работает.

4.2. Хотя может в рамках обсуждаемого numpy там и есть какие-то проблемы из-за сишной части, не могу гарантировать.

Кто-то пишет, значит кому-то это нужно.

Дык кому-то полюбому нужно. Только это не показатель что она лучше или альтернатива питону. А то так и на js можно все переписать или какую-нибудь хипстоту.

micronekodesu ★★★
()
Ответ на: комментарий от upcFrost

Но при этом никто не пишет инструменты на чистых плюсах, почему-то используют питон etc.

Я предпочитаю рассматривать каждый ЯП как standalone инструмент. Ты же не говоришь, что закручивать шурупы отверткой и забивать молотком — одинаково эффективно только потому, что оба инструмента сделаны из стали.

ZERG ★★★★★
()
Ответ на: комментарий от upcFrost

видел я тесты его производительности на задачах сложнее умножения матриц

Я тоже видел. Тесты очень впечатляющие.

плюс под пистон есть IPython и его производные, плюс JetBrains выкатила свой вариант того же.

В жульке всё это есть из коробки.

yvv ★★☆
()
Ответ на: комментарий от ZERG

Но при этом никто не пишет инструменты на чистых плюсах, почему-то используют питон etc

вот тут не согласен. инструменты (готовые) пишут на крестах. а прототипы - на питоне.

upcFrost ★★★★★
()
Ответ на: комментарий от yvv

Ну-ну.

Я вот слышал от товарища, что университет Berkley ищет постдока с зарплатой в 100к на 5 лет только с одной целью: переписать рабочие либы со старого фортрана на плюсы. Уже давно ищут.

ZERG ★★★★★
()
Ответ на: комментарий от upcFrost

Не все, далеко не все. Опять же, всё зависит от области применения и от того, кто и кому пишет.

ZERG ★★★★★
()
Ответ на: комментарий от yvv

Я тоже видел. Тесты очень впечатляющие

можешь скинуть? только не те что сами разрабы делают, а то что делают реальные люди

В жульке всё это есть из коробки

и такое же по исполнению?

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от ZERG

Я вот слышал от товарища, что университет Berkley ищет постдока с зарплатой в 100к на 5 лет только с одной целью: переписать рабочие либы со старого фортрана на плюсы. Уже давно ищут

ну знаешь, есть куча банков в ГК и сингапуре, которые ищут людей перегнать кобол на жабу. за очень большие бабки. но коболисты уже все давно сдохли как известно.

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

можешь скинуть? только не те что сами разрабы делают, а то что делают реальные люди

Можешь сам попробовать на своей задаче, это не сложно. Все тулзы идут из коробки. Только внимание, написать медленный код на жульке очень легко. Гуд ньюз, оптимизировать его тоже очень легко, и для этого не нужны никакие костыли типа numba или cython. Нужно ознакомиться с этим документом

https://docs.julialang.org/en/latest/manual/performance-tips/

и следовать здравому смыслу.

и такое же по исполнению?

Зачем спрашивать, установи и попробуй.

yvv ★★☆
()
Ответ на: комментарий от upcFrost

Ну так речь про то, что не всё переписали и не всё кинутся переписывать. Я не даю оценку этому.

ZERG ★★★★★
()
Ответ на: комментарий от ZERG

Не все, далеко не все. Опять же, всё зависит от области применения и от того, кто и кому пишет

ну ок, какой проект на питоне связанный с матаном имеет нормальную для прода производительность (при условии что у разрабов есть время и навык перегнать его на плюсы)?

upcFrost ★★★★★
()
Ответ на: комментарий от yvv

Можешь сам попробовать на своей задаче, это не сложно

у меня тут сейчас пара десятков тысяч строк питона в одном из проектов. вы таки уверены что это не сложно?

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

у меня тут сейчас пара десятков тысяч строк питона в одном из проектов. вы таки уверены что это не сложно?

Кто для бенчмарка гоняет десятки тысяч строк? Из всей этой лапши, производительность критична наверное для пары сотен строк от силы. Выдели узкое место в отдельную функцию, и гоняй на ней бенчмарки как хочешь.

yvv ★★☆
()
Ответ на: комментарий от yvv

Из всей этой лапши, производительность критична наверное для пары сотен строк от силы

для пары тысяч, к сожалению.

Кто для бенчмарка гоняет десятки тысяч строк?

вот потому я и прошу не «бенчмарк», а реальные отзывы реальных юзеров на реальных задачах

upcFrost ★★★★★
()

Джулию даже не смотри, смысла мало. В numpy - смотреть доки, там почти все и есть.

Solace ★★
()
Ответ на: комментарий от upcFrost

для пары тысяч, к сожалению

Выдели из этой пары тысяч строк пару сотен, и протестируй. Такого не бывает, чтобы большую задачу нельзя было разбить на несколько маленьких.

вот потому я и прошу не «бенчмарк», а реальные отзывы реальных юзеров на реальных задачах

Я лично для реальных задач её ещё не использовал, считаю, что до выпуска версии 1.0 это для меня рановато. После тестов на игрушечных задачах, отзыв даю очень положительный. Если тебе нужны отзывы юзеров, которые использовали жульку на реальных задачах (очень больших), можешь поинтересоваться например celeste.jl. Коды бенчмарков у них на гитхабе есть, наверное можешь спросить у авторов и результаты.

yvv ★★☆
()
Последнее исправление: yvv (всего исправлений: 1)
Ответ на: комментарий от upcFrost

(при условии что у разрабов есть время и навык перегнать его на плюсы)?

В этом-то вся соль, есть же масса людей, которые выпускают инструменты в прод и не пытаются выжать максимальную производительность. У меня в лабе целая куча людей пишет на питоне (и использует инструменты, основанные на нем же).

ZERG ★★★★★
()
Ответ на: комментарий от ZERG

медленный, если сравнивать с С, оптимизация кода может занять больше времени

Просто подключаешь нужную либу на С и фигачешь. Например, как numpy + pandas.
В pandas куча велосипедов, немного не похожих на питон, зато быстрых.

Shadow ★★★★★
()
Ответ на: комментарий от upcFrost

Эти ссылки - бородатые, обсасывались на разных форумах давно. По первой ссылке - очень много просто неверной информации. Вторая статья более объективная, хотя тоже устаревшая, демонстрирует проблему, которой я упоминал уже выше: на жульке легко написать медленный код. На stackoveflow и discource регулярно поднимаются вопросы производительности, и чаще всего проблема возникает из-за того, что неправильно поставленная задача решается неправильным методом, и проблема фиксится минимальным изменением кода. Правильный julia код обычно такой же быстрый, как и правильный cython код, поскольку компиляторы генерируют одни и те же инструкции. Хотя, от версии компилятора и опций оптимизации это тоже может сильно зависеть.

yvv ★★☆
()
Ответ на: комментарий от Shadow

Ну-ну, я так пробовал работать с гистограммами, С оказался быстрее на два порядка.

ZERG ★★★★★
()
Ответ на: комментарий от yvv

Ты, гражданин, жопу с пальцем-то не сравнивай.
Жулька - это не фортран77, и на ней пишут никакие не старые физики.

... Жулька - это не фортран77, и на ней не пишут. Точка. Не благодари.(С)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.