Python - Operazioni sui dati
Python gestisce dati di vari formati principalmente attraverso le due librerie, Pandas e Numpy. Abbiamo già visto le caratteristiche importanti di queste due librerie nei capitoli precedenti. In questo capitolo vedremo alcuni esempi di base da ciascuna delle librerie su come operare sui dati.
Operazioni sui dati in Numpy
L'oggetto più importante definito in NumPy è un tipo di array N-dimensionale chiamato ndarray. Descrive la raccolta di elementi dello stesso tipo. È possibile accedere agli elementi della raccolta utilizzando un indice a base zero. Un'istanza della classe ndarray può essere costruita da diverse routine di creazione di array descritte più avanti nel tutorial. Il ndarray di base viene creato utilizzando una funzione array in NumPy come segue:
numpy.array
Di seguito sono riportati alcuni esempi sulla gestione dei dati di Numpy.
Esempio 1
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
L'output è il seguente:
[[1, 2]
[3, 4]]
Esempio 2
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
L'output è il seguente:
[[1, 2, 3, 4, 5]]
Esempio 3
# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
L'output è il seguente:
[ 1.+0.j, 2.+0.j, 3.+0.j]
Operazioni sui dati in Panda
Pandas gestisce i dati attraverso Series,Data Frame, e Panel. Vedremo alcuni esempi da ciascuno di questi.
Pandas Series
Series è un array etichettato unidimensionale in grado di contenere dati di qualsiasi tipo (intero, stringa, float, oggetti Python, ecc.). Le etichette degli assi sono chiamate collettivamente index. È possibile creare una serie di panda utilizzando il seguente costruttore:
pandas.Series( data, index, dtype, copy)
Esempio
Qui creiamo una serie da un 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
Suo output è il seguente -
0 a
1 b
2 c
3 d
dtype: object
Pandas DataFrame
Un Data frame è una struttura dati bidimensionale, cioè i dati sono allineati in modo tabulare in righe e colonne. Un DataFrame panda può essere creato utilizzando il seguente costruttore:
pandas.DataFrame( data, index, columns, dtype, copy)
Creiamo ora un DataFrame indicizzato usando gli array.
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
Suo output è il seguente -
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
Pannello Pandas
UN panelè un contenitore 3D di dati. Il terminePanel data è derivato dall'econometria ed è parzialmente responsabile del nome panda - pan(el)-da(ta)-S.
Un pannello può essere creato utilizzando il seguente costruttore:
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
Nell'esempio seguente creiamo un pannello da dict di DataFrame Objects
#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
Suo output è il seguente -
<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