Python Pandas - Funcionalidad básica
A estas alturas, aprendimos sobre las tres estructuras de datos de Pandas y cómo crearlas. Nos centraremos principalmente en los objetos DataFrame debido a su importancia en el procesamiento de datos en tiempo real y también discutiremos algunas otras estructuras de datos.
Funcionalidad básica de la serie
No Señor. | Atributo o método y descripción |
---|---|
1 | axes Devuelve una lista de las etiquetas del eje de fila. |
2 | dtype Devuelve el dtype del objeto. |
3 | empty Devuelve True si la serie está vacía. |
4 | ndim Devuelve el número de dimensiones de los datos subyacentes, por definición 1. |
5 | size Devuelve el número de elementos de los datos subyacentes. |
6 | values Devuelve la serie como ndarray. |
7 | head() Devuelve las primeras n filas. |
8 | tail() Devuelve las últimas n filas. |
Creemos ahora una Serie y veamos todas las operaciones de atributos tabulados anteriores.
Ejemplo
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print s
Sus output es como sigue -
0 0.967853
1 -0.148368
2 -1.395906
3 -1.758394
dtype: float64
ejes
Devuelve la lista de las etiquetas de la 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
Sus output es como sigue -
The axes are:
[RangeIndex(start=0, stop=4, step=1)]
El resultado anterior es un formato compacto de una lista de valores de 0 a 5, es decir, [0,1,2,3,4].
vacío
Devuelve el valor booleano que indica si el objeto está vacío o no. Verdadero indica que el objeto está vacío.
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
Sus output es como sigue -
Is the Object empty?
False
ndim
Devuelve el número de dimensiones del objeto. Por definición, una serie es una estructura de datos 1D, por lo que devuelve
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
Sus output es como sigue -
0 0.175898
1 0.166197
2 -0.609712
3 -1.377000
dtype: float64
The dimensions of the object:
1
Talla
Devuelve el tamaño (longitud) de la 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
Sus output es como sigue -
0 3.078058
1 -1.207803
dtype: float64
The size of the object:
2
valores
Devuelve los datos reales de la serie como una matriz.
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
Sus output es como sigue -
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 ]
La cabeza de la cola
Para ver una pequeña muestra de un objeto Series o DataFrame, use los métodos head () y tail ().
head() devuelve el primero nfilas (observe los valores del índice). El número predeterminado de elementos para mostrar es cinco, pero puede pasar un número personalizado.
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)
Sus output es como sigue -
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() devuelve el último nfilas (observe los valores del índice). El número predeterminado de elementos para mostrar es cinco, pero puede pasar un número personalizado.
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)
Sus output es como sigue -
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
Funcionalidad básica de DataFrame
Entendamos ahora qué es la funcionalidad básica de DataFrame. Las siguientes tablas enumeran los atributos o métodos importantes que ayudan en la funcionalidad básica de DataFrame.
No Señor. | Atributo o método y descripción |
---|---|
1 | T Transpone filas y columnas. |
2 | axes Devuelve una lista con las etiquetas del eje de fila y las etiquetas del eje de columna como únicos miembros. |
3 | dtypes Devuelve los dtypes de este objeto. |
4 | empty Verdadero si NDFrame está completamente vacío [sin elementos]; si alguno de los ejes tiene longitud 0. |
5 | ndim Número de ejes / dimensiones de matriz. |
6 | shape Devuelve una tupla que representa la dimensionalidad del DataFrame. |
7 | size Número de elementos del NDFrame. |
8 | values Representación voluminosa de NDFrame. |
9 | head() Devuelve las primeras n filas. |
10 | tail() Devuelve las últimas n filas. |
Creemos ahora un DataFrame y veamos cómo funcionan los atributos mencionados anteriormente.
Ejemplo
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
Sus output es como sigue -
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 (transponer)
Devuelve la transposición del DataFrame. Las filas y columnas se intercambiarán.
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
Sus output es como sigue -
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
ejes
Devuelve la lista de etiquetas de eje de fila y etiquetas de eje de columna.
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
Sus output es como sigue -
Row axis labels and column axis labels are:
[RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'],
dtype='object')]
dtipos
Devuelve el tipo de datos de cada columna.
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
Sus output es como sigue -
The data types of each column are:
Age int64
Name object
Rating float64
dtype: object
vacío
Devuelve el valor booleano que indica si el objeto está vacío o no; Verdadero indica que el objeto está vacío.
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
Sus output es como sigue -
Is the object empty?
False
ndim
Devuelve el número de dimensiones del objeto. Por definición, DataFrame es un objeto 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
Sus output es como sigue -
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
Devuelve una tupla que representa la dimensionalidad del DataFrame. Tupla (a, b), donde a representa el número de filas yb representa el número de columnas.
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
Sus output es como sigue -
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)
Talla
Devuelve el número de elementos del 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
Sus output es como sigue -
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
valores
Devuelve los datos reales en el DataFrame como un 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
Sus output es como sigue -
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]]
La cabeza de la cola
Para ver una pequeña muestra de un objeto DataFrame, use el head() y métodos tail (). head() devuelve el primero nfilas (observe los valores del índice). El número predeterminado de elementos para mostrar es cinco, pero puede pasar un número personalizado.
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)
Sus output es como sigue -
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() devuelve el último nfilas (observe los valores del índice). El número predeterminado de elementos para mostrar es cinco, pero puede pasar un número personalizado.
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)
Sus output es como sigue -
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