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