Инструменты. Python для анализа данных
Автор: enjeycom • Сентябрь 27, 2019 • Доклад • 1,072 Слов (5 Страниц) • 895 Просмотры
Инструменты. Python для анализа данных
Язык программирования Python в последнее время все чаще используется для анализа данных, как в науке, так и коммерческой сфере. Этому способствует простота языка, а также большое разнообразие открытых библиотек. К одним из самых полезных инструментов анализа данных в Python можно отнести:
- Jupyter Notebook — набор средств для разработки программ.
- NumPy — для числовых расчетов. Является основой для многих библиотек, используемых в анализе данных.
- Pandas — для анализа данных. Содержит структуры данных и операции для обработки числовых таблиц и временных рядов. Работа с этой библиотекой строится поверх NumPy.
- Matplotlib — для двумерной или трехмерной визуализации данных. Она мощная, но довольно громоздкая.
- Seaborn — для визуализации данных. Более простая библиотека по сравнению с Matplotlib.
Jupyter Notebook - популярнейшая бесплатная интерактивная оболочка для языка программирования Python, позволяющая объединить код, текст и диаграммы, и распространять их для других пользователей. Раньше она называлась IPython Notebook, но название сменили, чтобы подчеркнуть совместимость не только с Python, но и другими языками программирования.
Это крайне удобный инструмент для проведения экспериментов (как чисто математических, так и связанных с обработкой данных от приборов) и оформления результатов в виде профессиональных научных статей. А вообще человечество нашло ему бесчисленные применения - от дизайна электронных схем до обработки астрономических фотографий.
[pic 1]
NumPy – библиотека с открытым исходным кодом для языка программирования Python. Математические алгоритмы, реализованные на интерпретируемых языках, часто работают гораздо медленнее тех же алгоритмов, реализованных на компилируемых языках (например, Фортран, Си, Java). Библиотека NumPy предоставляет реализации вычислительных алгоритмов (в виде функций и операторов), оптимизированные для работы с многомерными массивами. В результате любой алгоритм, который может быть выражен в виде последовательности операций над массивами (матрицами) и реализованный с использованием NumPy, работает так же быстро, как эквивалентный код, выполняемый в MATLAB.
Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.
Наиболее важные атрибуты объектов ndarray:
ndarray.ndim - число измерений (чаще их называют "оси") массива.
ndarray.shape - размеры массива, его форма. Это кортеж натуральных чисел, показывающий длину массива по каждой оси. Для матрицы из n строк и m столбов, shape будет (n,m). Число элементов кортежа shape равно ndim.
ndarray.size - количество элементов массива. Очевидно, равно произведению всех элементов атрибута shape.
ndarray.dtype - объект, описывающий тип элементов массива. Можно определить dtype, используя стандартные типы данных Python. NumPy здесь предоставляет целый букет возможностей, как встроенных, например: bool_, character, int8, int16, int32, int64, float8, float16, float32, float64, complex64, object_, так и возможность определить собственные типы данных, в том числе и составные.
ndarray.itemsize - размер каждого элемента массива в байтах.
ndarray.data - буфер, содержащий фактические элементы массива. Обычно не нужно использовать этот атрибут, так как обращаться к элементам массива проще всего с помощью индексов.
Pandas — программная библиотека на языке Python для обработки и анализа данных. Работа pandas с данными строится поверх библиотеки NumPy, являющейся инструментом более низкого уровня. Предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами и временными рядами.
Основная область применения — обеспечение работы в рамках среды Python не только для сбора и очистки данных, но для задач анализа и моделирования данных, без переключения на более специфичные для математической обработки языки (такие, как R и Octave). Также активно ведётся работа по реализации «родных» категориальных типов данных.
...