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'