Python - operacje na danych

Python obsługuje dane w różnych formatach głównie za pośrednictwem dwóch bibliotek, Pandas i Numpy. Istotne cechy tych dwóch bibliotek widzieliśmy już w poprzednich rozdziałach. W tym rozdziale zobaczymy kilka podstawowych przykładów z każdej biblioteki, jak operować na danych.

Operacje na danych w Numpy

Najważniejszym obiektem zdefiniowanym w NumPy jest N-wymiarowa tablica o nazwie ndarray. Opisuje zbiór przedmiotów tego samego typu. Dostęp do elementów w kolekcji można uzyskać przy użyciu indeksu liczonego od zera. Instancja klasy ndarray może zostać skonstruowana przy użyciu różnych procedur tworzenia tablic opisanych w dalszej części kursu. Podstawowy ndarray jest tworzony za pomocą funkcji tablicowej w NumPy w następujący sposób -

numpy.array

Poniżej znajduje się kilka przykładów obsługi Numpy Data.

Przykład 1

# more than one dimensions 
import numpy as np 
a = np.array([[1, 2], [3, 4]]) 
print a

Dane wyjściowe są następujące -

[[1, 2] 
 [3, 4]]

Przykład 2

# minimum dimensions 
import numpy as np 
a = np.array([1, 2, 3,4,5], ndmin = 2) 
print a

Dane wyjściowe są następujące -

[[1, 2, 3, 4, 5]]

Przykład 3

# dtype parameter 
import numpy as np 
a = np.array([1, 2, 3], dtype = complex) 
print a

Dane wyjściowe są następujące -

[ 1.+0.j,  2.+0.j,  3.+0.j]

Operacje na danych w Pandach

Pandy przetwarza dane Series,Data Frame, i Panel. Zobaczymy kilka przykładów z każdego z nich.

Seria Pandy

Seria to jednowymiarowa tablica z etykietami, która może przechowywać dane dowolnego typu (liczby całkowite, ciągi znaków, zmiennoprzecinkowe, obiekty Pythona itp.). Etykiety osi są zbiorczo nazywane indeksami. Serię pand można utworzyć za pomocą następującego konstruktora -

pandas.Series( data, index, dtype, copy)

Przykład

Tutaj tworzymy serię z Numpy Array.

#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

Jego output wygląda następująco -

0   a
1   b
2   c
3   d
dtype: object

Pandas DataFrame

Ramka danych to dwuwymiarowa struktura danych, tj. Dane są wyrównane tabelarycznie w wierszach i kolumnach. Pandy DataFrame można utworzyć za pomocą następującego konstruktora -

pandas.DataFrame( data, index, columns, dtype, copy)

Utwórzmy teraz zindeksowaną ramkę DataFrame przy użyciu tablic.

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

Jego output wygląda następująco -

Age    Name
rank1    28      Tom
rank2    34     Jack
rank3    29    Steve
rank4    42    Ricky

Panel Pandy

ZA panelto trójwymiarowy kontener danych. TerminPanel data wywodzi się z ekonometrii i jest częściowo odpowiedzialny za nazwę pandy - pan(el)-da(ta)-s.

Panel można utworzyć za pomocą następującego konstruktora -

pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)

W poniższym przykładzie tworzymy panel z dyktowania obiektów 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

Jego output wygląda następująco -

<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