Python Pandas - Funzionalità di base
A questo punto, abbiamo imparato a conoscere le tre strutture di dati di Panda e come crearle. Ci concentreremo principalmente sugli oggetti DataFrame a causa della sua importanza nell'elaborazione dei dati in tempo reale e discuteremo anche di alcune altre DataStructures.
Funzionalità di base della serie
Sr.No. | Attributo o metodo e descrizione |
---|---|
1 | axes Restituisce un elenco delle etichette dell'asse di riga |
2 | dtype Restituisce il dtype dell'oggetto. |
3 | empty Restituisce True se la serie è vuota. |
4 | ndim Restituisce il numero di dimensioni dei dati sottostanti, per definizione 1. |
5 | size Restituisce il numero di elementi nei dati sottostanti. |
6 | values Restituisce la serie come ndarray. |
7 | head() Restituisce le prime n righe. |
8 | tail() Restituisce le ultime n righe. |
Creiamo ora una serie e vediamo tutte le operazioni sugli attributi tabulate sopra.
Esempio
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print s
Suo output è il seguente -
0 0.967853
1 -0.148368
2 -1.395906
3 -1.758394
dtype: float64
assi
Restituisce l'elenco delle etichette della serie.
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print ("The axes are:")
print s.axes
Suo output è il seguente -
The axes are:
[RangeIndex(start=0, stop=4, step=1)]
Il risultato sopra è un formato compatto di un elenco di valori da 0 a 5, cioè [0,1,2,3,4].
vuoto
Restituisce il valore booleano che indica se l'oggetto è vuoto o meno. True indica che l'oggetto è vuoto.
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print ("Is the Object empty?")
print s.empty
Suo output è il seguente -
Is the Object empty?
False
ndim
Restituisce il numero di dimensioni dell'oggetto. Per definizione, una serie è una struttura dati 1D, quindi restituisce
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print s
print ("The dimensions of the object:")
print s.ndim
Suo output è il seguente -
0 0.175898
1 0.166197
2 -0.609712
3 -1.377000
dtype: float64
The dimensions of the object:
1
taglia
Restituisce la dimensione (lunghezza) della serie.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(2))
print s
print ("The size of the object:")
print s.size
Suo output è il seguente -
0 3.078058
1 -1.207803
dtype: float64
The size of the object:
2
valori
Restituisce i dati effettivi nella serie come matrice.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print s
print ("The actual data series is:")
print s.values
Suo output è il seguente -
0 1.787373
1 -0.605159
2 0.180477
3 -0.140922
dtype: float64
The actual data series is:
[ 1.78737302 -0.60515881 0.18047664 -0.1409218 ]
Testa e coda
Per visualizzare un piccolo campione di un oggetto Series o DataFrame, utilizzare i metodi head () e tail ().
head() restituisce il primo nrighe (osservare i valori dell'indice). Il numero predefinito di elementi da visualizzare è cinque, ma puoi passare un numero personalizzato.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print ("The original series is:")
print s
print ("The first two rows of the data series:")
print s.head(2)
Suo output è il seguente -
The original series is:
0 0.720876
1 -0.765898
2 0.479221
3 -0.139547
dtype: float64
The first two rows of the data series:
0 0.720876
1 -0.765898
dtype: float64
tail() restituisce l'ultimo nrighe (osservare i valori dell'indice). Il numero predefinito di elementi da visualizzare è cinque, ma puoi passare un numero personalizzato.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print ("The original series is:")
print s
print ("The last two rows of the data series:")
print s.tail(2)
Suo output è il seguente -
The original series is:
0 -0.655091
1 -0.881407
2 -0.608592
3 -2.341413
dtype: float64
The last two rows of the data series:
2 -0.608592
3 -2.341413
dtype: float64
Funzionalità di base di DataFrame
Vediamo ora cosa è la funzionalità di base di DataFrame. Le tabelle seguenti elencano gli attributi oi metodi importanti che aiutano nella funzionalità di base di DataFrame.
Sr.No. | Attributo o metodo e descrizione |
---|---|
1 | T Traspone righe e colonne. |
2 | axes Restituisce un elenco con le etichette dell'asse di riga e le etichette dell'asse di colonna come unici membri. |
3 | dtypes Restituisce i dtypes in questo oggetto. |
4 | empty Vero se NDFrame è completamente vuoto [nessun elemento]; se uno degli assi è di lunghezza 0. |
5 | ndim Numero di assi / dimensioni della matrice. |
6 | shape Restituisce una tupla che rappresenta la dimensionalità di DataFrame. |
7 | size Numero di elementi in NDFrame. |
8 | values Rappresentazione numpy di NDFrame. |
9 | head() Restituisce le prime n righe. |
10 | tail() Restituisce le ultime n righe. |
Creiamo ora un DataFrame e vediamo tutto come funzionano gli attributi sopra menzionati.
Esempio
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data series is:")
print df
Suo output è il seguente -
Our data series is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
T (trasposizione)
Restituisce la trasposizione di DataFrame. Le righe e le colonne si scambieranno.
import pandas as pd
import numpy as np
# Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# Create a DataFrame
df = pd.DataFrame(d)
print ("The transpose of the data series is:")
print df.T
Suo output è il seguente -
The transpose of the data series is:
0 1 2 3 4 5 6
Age 25 26 25 23 30 29 23
Name Tom James Ricky Vin Steve Smith Jack
Rating 4.23 3.24 3.98 2.56 3.2 4.6 3.8
assi
Restituisce l'elenco delle etichette degli assi delle righe e delle etichette degli assi delle colonne.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Row axis labels and column axis labels are:")
print df.axes
Suo output è il seguente -
Row axis labels and column axis labels are:
[RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'],
dtype='object')]
dtypes
Restituisce il tipo di dati di ogni colonna.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("The data types of each column are:")
print df.dtypes
Suo output è il seguente -
The data types of each column are:
Age int64
Name object
Rating float64
dtype: object
vuoto
Restituisce il valore booleano indicando se l'oggetto è vuoto o meno; True indica che l'oggetto è vuoto.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Is the object empty?")
print df.empty
Suo output è il seguente -
Is the object empty?
False
ndim
Restituisce il numero di dimensioni dell'oggetto. Per definizione, DataFrame è un oggetto 2D.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The dimension of the object is:")
print df.ndim
Suo output è il seguente -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The dimension of the object is:
2
forma
Restituisce una tupla che rappresenta la dimensionalità di DataFrame. Tupla (a, b), dove a rappresenta il numero di righe eb rappresenta il numero di colonne.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The shape of the object is:")
print df.shape
Suo output è il seguente -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The shape of the object is:
(7, 3)
taglia
Restituisce il numero di elementi nel DataFrame.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The total number of elements in our object is:")
print df.size
Suo output è il seguente -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The total number of elements in our object is:
21
valori
Restituisce i dati effettivi nel DataFrame come file NDarray.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The actual data in our data frame is:")
print df.values
Suo output è il seguente -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The actual data in our data frame is:
[[25 'Tom' 4.23]
[26 'James' 3.24]
[25 'Ricky' 3.98]
[23 'Vin' 2.56]
[30 'Steve' 3.2]
[29 'Smith' 4.6]
[23 'Jack' 3.8]]
Testa e coda
Per visualizzare un piccolo campione di un oggetto DataFrame, utilizzare il head() e metodi tail (). head() restituisce il primo nrighe (osservare i valori dell'indice). Il numero predefinito di elementi da visualizzare è cinque, ma puoi passare un numero personalizzato.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The first two rows of the data frame is:")
print df.head(2)
Suo output è il seguente -
Our data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The first two rows of the data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
tail() restituisce l'ultimo nrighe (osservare i valori dell'indice). Il numero predefinito di elementi da visualizzare è cinque, ma puoi passare un numero personalizzato.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The last two rows of the data frame is:")
print df.tail(2)
Suo output è il seguente -
Our data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The last two rows of the data frame is:
Age Name Rating
5 29 Smith 4.6
6 23 Jack 3.8