Есть ли более эффективный способ обработки больших объемов данных, чем с помощью массивов? - PullRequest
4 голосов
/ 01 августа 2011

Привет, я пишу программное обеспечение для сбора и анализа данных для физических измерений, настроенных с помощью Python.В процессе я собираю огромное количество точек данных (легко порядка 1.000.000 и более), которые впоследствии буду анализировать.До сих пор я использую массивы чисел с плавающей точкой, которые в принципе делают работу.Тем не менее, я получаю странное влияние на извлеченные данные, поскольку я использую все больше и больше точек данных на измерение, что заставляет меня задуматься о том, настолько ли неэффективна обработка массивов, что запись в них приводит к значительной задержке сбора данных.цикл.

Это возможно?Есть ли у вас какие-либо предложения о том, как улучшить время обработки в процессе записи (это вопрос микросекунд) или это не является возможным влиянием, и мне нужно искать что-то еще?

Заранее спасибо!

1 Ответ

5 голосов
/ 01 августа 2011

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

С веб-сайта NumyPy:

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

Класс массивов NumPy (который используется для реализации класса матриц) реализован с учетом скорости,поэтому доступ к массивам NumPy быстрее, чем к спискам Python.Кроме того, NumPy реализует язык массивов, поэтому большинство циклов не нужны.

...