Series

El primer tipo de dato que vamos a aprender en pandas es Series

Una series es muy similar a un arreglo de Numpy, la diferencia es que una serie tiene etiquetas en su eje, por tal motivo podemos generar indices por etiquetas en vez de un numero.


In [2]:
# librerias
import numpy as np
import pandas as pd

Crear una serie

Se pueden crear series desde listas, arreglos de numpy y diccionarios


In [3]:
labels = ['a','b','c']
my_list = [10,20,30]
arr = np.array([10,20,30])
d = {'a':10,'b':20,'c':30}

Usando listas


In [4]:
pd.Series(data=my_list)


Out[4]:
0    10
1    20
2    30
dtype: int64

In [5]:
pd.Series(data=my_list,index=labels)


Out[5]:
a    10
b    20
c    30
dtype: int64

In [6]:
pd.Series(my_list,labels)


Out[6]:
a    10
b    20
c    30
dtype: int64

Arreglos Numpy


In [7]:
pd.Series(arr)


Out[7]:
0    10
1    20
2    30
dtype: int64

In [8]:
pd.Series(arr,labels)


Out[8]:
a    10
b    20
c    30
dtype: int64

Diccionarios


In [9]:
pd.Series(d)


Out[9]:
a    10
b    20
c    30
dtype: int64

Informacion en Series

Una serie de pandas puede tener varios tipos de objetos


In [10]:
pd.Series(data=labels)


Out[10]:
0    a
1    b
2    c
dtype: object

In [11]:
# Inclusive funciones
pd.Series([sum,print,len])


Out[11]:
0      <built-in function sum>
1    <built-in function print>
2      <built-in function len>
dtype: object

Usando indices

La clave al usar series es el entender como se utilizan los indices, ya que pandas los utiliza para hacer consultas rapidas de informacion


In [12]:
ser1 = pd.Series([1,2,3,4],index = ['USA', 'Germany','USSR', 'Japan'])

In [13]:
ser1


Out[13]:
USA        1
Germany    2
USSR       3
Japan      4
dtype: int64

In [14]:
ser2 = pd.Series([1,2,5,4],index = ['USA', 'Germany','Italy', 'Japan'])

In [15]:
ser2


Out[15]:
USA        1
Germany    2
Italy      5
Japan      4
dtype: int64

In [16]:
ser1['USA']


Out[16]:
1

Operations are then also done based off of index:


In [17]:
ser1 + ser2


Out[17]:
Germany    4.0
Italy      NaN
Japan      8.0
USA        2.0
USSR       NaN
dtype: float64