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