Jump to content

    
ViKo

Python как бесплатная альтернатива Matlab

Recommended Posts

Запускаю скачанный из интернета скрипт.

В нём есть

import pylab

Работает. Однако, я не нахожу среди пакетов Anaconda именно такой. Или это что-то встроенное в Python?

Share this post


Link to post
Share on other sites

Возможно, вы где-то в теме и говорили, но я не нашёл( А для чего используете пакет? Какие виды вычислений или моделирования?

Share this post


Link to post
Share on other sites
1 минуту назад, haker_fox сказал:

Возможно, вы где-то в теме и говорили, но я не нашёл( А для чего используете пакет? Какие виды вычислений или моделирования?

Используется для рисования графиков. Нашел в Интернете то, что казалось подходящим. В общем, работает, но этот пакет я не вижу в Anaconda Environment. Может, он внутри matplotlib?

Share this post


Link to post
Share on other sites
1 hour ago, ViKo said:

Используется для рисования графиков. Нашел в Интернете то, что казалось подходящим. В общем, работает, но этот пакет я не вижу в Anaconda Environment. Может, он внутри matplotlib?

Я дико извиняюсь, но первая ссылка из гуглА с запросом "pylab":

Quote

Понимание того, что корни matplotlib растут из MATLAB, помогает объяснить существование pylab. pylab – это модуль внутри библиотеки matplotlib, который был встроен для подражания общего стиля MATLAB. Он существует только для внесения ряда функций классов из NumPy и matplotlib в пространство имен, что упрощает переход пользователей MATLAB, которые не сталкивались с необходимостью в операторах импорта. Бывшие пользователи MATLAB (которые очень хорошие люди, обещаем!) полюбили его функционал, потому что при помощи from pylab import * они могут просто вызывать plot() или array() напрямую также, как они это делали в MATLAB.

ЗЫ. Я не шучу, реально первая ссылка:

1585389077_.thumb.png.4d83ef4dfcdc4e55d5d5007c53884137.png

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Вот задачка: сохранить одномерный массив целых чисел в текстовый файл, в каждой строке которого пишется номер (индекс) и само значение, и далее перевод на следующую строку. У меня проблема, как 1D в 2D преобразовать. Где-то в numpy должно быть такое преобразование.

Share this post


Link to post
Share on other sites
7 minutes ago, ViKo said:

Вот задачка: сохранить одномерный массив целых чисел в текстовый файл, в каждой строке которого пишется номер (индекс) и само значение, и далее перевод на следующую строку. У меня проблема, как 1D в 2D преобразовать. Где-то в numpy должно быть такое преобразование.

Посмотрите библиотеку pandas

Там массивы из numpy в панда-таблицы переделываются, а потом сохранить можно, например в CSV, включив опцию добавки столбца с индексом.

arr = np.zeros(10) # одномерный массив
import pandas as pd
df = pd.DataFrame({"Данные с АЦП": arr}) # созадет таблицу
df.tocsv("adcdata.txt") #точное название метода не 

Точное название метода не помню, там индекс по-моему по умолчанию ставится.

 

Можно и без pandas, самому ручками

Quote

 

 

Share this post


Link to post
Share on other sites

использую

numpy.savetxt(здесь параметры)

но индекс не записывается

Зачем вы pandas сокращаете до pd, от этого легче не становится.

 

to_csv называется

Share this post


Link to post
Share on other sites

Пробую так задать индексы.

ecg2d = numpy.array(range(0,8191),ecg)

Выдаёт

Cannot construct a dtype from an array

 

Так пробую:

ix = numpy.array(range(8192))
ecg2d = numpy.array((ix,ecg))

получились в первой строке индексы, во второй числа.

Осталось чуть-чуть... 

 

Share this post


Link to post
Share on other sites
1 hour ago, ViKo said:

Пробую так задать индексы.

ecg2d = numpy.array(range(0,8191),ecg)

В numpy есть всякие функции для таких вещей, например

indices = numpy.arange(0,8192,1) # 1d массив чисел от 0 до 8191 с шагом 1
# тип данных задается через dtype

 

11 hours ago, ViKo said:

Зачем вы pandas сокращаете до pd, от этого легче не становится

По той же причине, по которой numpy сокращают до np: лень писать лишний текст.

Share this post


Link to post
Share on other sites
2 минуты назад, alexunder сказал:

По той же причине, по которой numpy сокращают до np: лень писать лишний текст.

Моё мнение - это лишнее. Везде борются за понятные имена, а здесь некто  решил урезать несколько букв.

Share this post


Link to post
Share on other sites

В общем, Spider вполне может заменить Matlab. Можно настроить очень похожий вид, и пользоваться так же удобно. Грузится быстрее, считает быстрее. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.