Использование Python для замены MATLAB:как импортировать данные?

StackOverflow https://stackoverflow.com/questions/1057666

  •  21-08-2019
  •  | 
  •  

Вопрос

Я хочу использовать некоторые библиотеки Python для замены MATLAB.Как я мог бы импортировать данные Excel в Python (например, используя NumPy) чтобы использовать их?

Я не знаю, является ли Python надежной альтернативой MATLAB, но я хочу попробовать его.Есть ли какой-нибудь учебник?

Это было полезно?

Решение

В зависимости от того, с какими вычислениями вы работаете MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ (и на каких наборах инструментов вы используете), Python мог бы стать хорошей альтернативой MATLAB.

Питон + NumPy + СциПи + Matplotlib - Файл это правильная комбинация для начала.

Что касается данных, вы можете, например, сохранить свои данные непосредственно в текстовый файл (при условии, что вас напрямую не беспокоят проблемы точности с плавающей запятой) и прочитать их в Питон.

Если ваши данные являются Преуспеть данные, где каждое значение разделено символом ";", вы можете, например, прочитать файл построчно и использовать метод split() (с ";" в качестве аргумента) для получения каждого значения.

Для MATLAB вплоть до версии 7.1 можно напрямую загружать файлы .mat из Python с помощью scipy.io.matlab.mio модуль.

Другие советы

Там есть Matplotlib - Файл для участков и модуль csv для чтения Преуспеть данные (при условии, что вы можете сбросить в CSV - файл).

Вот учебное пособие о замене MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ с помощью Python.

Если вы пришли из MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ Мир, Пилаб облегчит ваш переход.Как только вы преобразуете свои данные в ASCII, pylab.load() сделаю все остальное:

pylab.load(fname, comments='#', delimiter=None, converters=None, 
           skiprows=0, usecols=None, unpack=False, 
           dtype=<type 'numpy.float64'>)

Вероятно, существуют сотни способов импортировать текстовые данные в Python.

Но поскольку вы хотите заменить MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ, вы собираетесь использовать NumPy и , вероятно , СциПи.

Держите вещи простыми:используйте стандартную текстовую загрузку NumPy:

import numpy
imported_array = numpy.loadtxt('file.txt',delimiter='\t')  # Assuming tab-delimiter
print imported_array.shape

Pandas - это библиотека анализа данных Python, которую можно довольно легко импортировать / экспортировать из Excel.Вот как это сделать:

http://pandas.pydata.org/pandas-docs/stable/10min.html#excel

Ускоренный курс:

import pandas as pd
data = pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

Я взглянул на mlabwrap ( обертка ) в качестве шага к ослаблению некоторых MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ разработчики больше используют Python.

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

Если вы сохранили свои данные в MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ формат, использование:

from scipy.io import loadmat

datafile = "yourfile.mat"
data = loadmat(datafile, matlab_compatible=True)
var1 = data['nameOfYourVariable'].squeeze()
var2 = data['nameOfYourOtherVariable'].squeeze()

"Я не знаю, является ли Python надежной альтернативой MATLAB"

Для меня (экспериментальная физика) Python - это не только полная замена MATLAB - МАТЕМАТИЧЕСКАЯ ЛАБОРАТОРИЯ (когда в том числе СциПи и Matplotlib - Файл как упоминалось выше), но это полезно для многих других целей, помимо обработки данных и визуализации (таковы общие потребности программирования).

"Я собираюсь попробовать ШАЛФЕЙ".

Стоит отметить, что есть пара запущенных серверов Мудрец которые предлагают ноутбук environmet (проверьте Попробуйте Шалфей онлайн в http://www.sagemath.org/).Это довольно удобно, учитывая тот факт, что все, что вам нужно, - это интернет-браузер и доступ (установка не требуется).

Что касается вопроса, интерпретированного Кевином Буксом (в другом ответе), чтение проприетарного Excel в Python может быть выполнено несколькими способами, некоторые из которых зависят от платформы (ОС):

  1. Хороший ресурс (не зависит от платформы) - http://www.python-excel.org/
  2. Пример использования xlrd - й который я когда-то нашел полезным (это то, что я использовал, когда мне это было нужно).: http://code.activestate.com/recipes/483742/ для примера, основанного на xlrd (независимом от платформы)
  3. ускоритель pyexcelerator есть еще один вариант.

Я надеюсь, что это поможет.Если нет, я могу попытаться сам привести в порядок какой-нибудь пример кода (хотя тем, что у меня есть, больше шести лет ...).Лично я предпочитаю, как было предложено в других ответах, использовать формат CSV или ASCII.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top