Python Pandas - Serie
La serie es una matriz etiquetada unidimensional capaz de contener datos de cualquier tipo (entero, cadena, flotante, objetos de Python, etc.). Las etiquetas de los ejes se denominan colectivamente índice.
pandas.Series
Se puede crear una serie pandas usando el siguiente constructor:
pandas.Series( data, index, dtype, copy)
Los parámetros del constructor son los siguientes:
No Señor | Descripción de parámetros |
---|---|
1 | data los datos toman varias formas como ndarray, lista, constantes |
2 | index Los valores de índice deben ser únicos y con capacidad hash, de la misma longitud que los datos. Defectonp.arrange(n) si no se pasa ningún índice. |
3 | dtype dtype es para el tipo de datos. Si es Ninguno, se inferirá el tipo de datos |
4 | copy Copiar datos. Falso predeterminado |
Se puede crear una serie usando varias entradas como:
- Array
- Dict
- Valor escalar o constante
Crea una serie vacía
Una serie básica que se puede crear es una serie vacía.
Ejemplo
#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()
print s
Sus output es como sigue -
Series([], dtype: float64)
Crea una serie a partir de ndarray
Si los datos son ndarray, el índice pasado debe tener la misma longitud. Si no se pasa ningún índice, el índice predeterminado serárange(n) dónde n es la longitud de la matriz, es decir, [0,1,2,3…. range(len(array))-1].
Ejemplo 1
#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
Sus output es como sigue -
0 a
1 b
2 c
3 d
dtype: object
No pasamos ningún índice, por lo que de forma predeterminada, asignó los índices que van de 0 a len(data)-1, es decir, de 0 a 3.
Ejemplo 2
#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,index=[100,101,102,103])
print s
Sus output es como sigue -
100 a
101 b
102 c
103 d
dtype: object
Pasamos los valores del índice aquí. Ahora podemos ver los valores indexados personalizados en la salida.
Crear una serie a partir de dict
UN dictse puede pasar como entrada y si no se especifica ningún índice, las claves del diccionario se toman en un orden ordenado para construir el índice. Siindex se pasa, los valores en los datos correspondientes a las etiquetas en el índice se extraerán.
Ejemplo 1
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print s
Sus output es como sigue -
a 0.0
b 1.0
c 2.0
dtype: float64
Observe - Las claves de diccionario se utilizan para construir índices.
Ejemplo 2
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print s
Sus output es como sigue -
b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
Observe - El orden del índice se mantiene y el elemento que falta se rellena con NaN (no es un número).
Crear una serie a partir de escalar
Si los datos son un valor escalar, se debe proporcionar un índice. El valor se repetirá para coincidir con la longitud deindex
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
s = pd.Series(5, index=[0, 1, 2, 3])
print s
Sus output es como sigue -
0 5
1 5
2 5
3 5
dtype: int64
Acceso a datos de series con posición
Se puede acceder a los datos de la serie de forma similar a la de un ndarray.
Ejemplo 1
Recupera el primer elemento. Como ya sabemos, el conteo comienza desde cero para la matriz, lo que significa que el primer elemento se almacena en la posición cero y así sucesivamente.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
#retrieve the first element
print s[0]
Sus output es como sigue -
1
Ejemplo 2
Recupera los tres primeros elementos de la serie. Si se inserta un: delante de él, se extraerán todos los elementos de ese índice en adelante. Si se utilizan dos parámetros (con: entre ellos), los elementos entre los dos índices (sin incluir el índice de parada)
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
#retrieve the first three element
print s[:3]
Sus output es como sigue -
a 1
b 2
c 3
dtype: int64
Ejemplo 3
Recupera los últimos tres elementos.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
#retrieve the last three element
print s[-3:]
Sus output es como sigue -
c 3
d 4
e 5
dtype: int64
Recuperar datos mediante etiqueta (índice)
Una serie es como un tamaño fijo dict ya que puede obtener y establecer valores por etiqueta de índice.
Ejemplo 1
Recupere un solo elemento usando el valor de la etiqueta de índice.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
#retrieve a single element
print s['a']
Sus output es como sigue -
1
Ejemplo 2
Recupere varios elementos mediante una lista de valores de etiqueta de índice.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
#retrieve multiple elements
print s[['a','c','d']]
Sus output es como sigue -
a 1
c 3
d 4
dtype: int64
Ejemplo 3
Si no se incluye una etiqueta, se genera una excepción.
import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
#retrieve multiple elements
print s['f']
Sus output es como sigue -
…
KeyError: 'f'