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