Python - Операции с данными
Python обрабатывает данные различных форматов в основном через две библиотеки, Pandas и Numpy. Мы уже видели важные особенности этих двух библиотек в предыдущих главах. В этой главе мы увидим несколько основных примеров работы с данными из каждой библиотеки.
Операции с данными в Numpy
Самый важный объект, определенный в NumPy, - это N-мерный массив типа ndarray. В нем описывается набор однотипных предметов. Доступ к элементам коллекции можно получить с помощью индекса с отсчетом от нуля. Экземпляр класса ndarray может быть создан с помощью различных процедур создания массива, описанных далее в руководстве. Базовый ndarray создается с использованием функции массива в NumPy следующим образом:
numpy.array
Ниже приведены некоторые примеры обработки Numpy Data.
Пример 1
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
Результат выглядит следующим образом -
[[1, 2]
[3, 4]]
Пример 2
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
Результат выглядит следующим образом -
[[1, 2, 3, 4, 5]]
Пример 3
# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
Результат выглядит следующим образом -
[ 1.+0.j, 2.+0.j, 3.+0.j]
Операции с данными в пандах
Pandas обрабатывает данные через Series,Data Frame, и Panel. Мы увидим несколько примеров из каждого из них.
Панды серии
Серия - это одномерный помеченный массив, способный хранить данные любого типа (целые числа, строки, числа с плавающей запятой, объекты Python и т. Д.). Метки осей вместе называются индексами. Серию панд можно создать с помощью следующего конструктора -
pandas.Series( data, index, dtype, copy)
пример
Здесь мы создаем серию из массива Numpy.
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s
это output выглядит следующим образом -
0 a
1 b
2 c
3 d
dtype: object
Фрейм данных Pandas
Фрейм данных - это двухмерная структура данных, т. Е. Данные выровнены в табличной форме по строкам и столбцам. DataFrame pandas можно создать с помощью следующего конструктора -
pandas.DataFrame( data, index, columns, dtype, copy)
Давайте теперь создадим индексированный DataFrame с использованием массивов.
import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
print df
это output выглядит следующим образом -
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
Панель Панды
А panelпредставляет собой трехмерный контейнер данных. СрокPanel data происходит от эконометрики и частично отвечает за название pandas - pan(el)-da(ta)-с.
Панель можно создать с помощью следующего конструктора -
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
В приведенном ниже примере мы создаем панель из объектов DataFrame.
#creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)),
'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p
это output выглядит следующим образом -
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4