Utilizar merge_ordered()

Unir datos con pandas

Aaren Stubberfield

Instructor

merge_ordered()

Ejemplo de tabla de merge_ordered()

Unir datos con pandas

Comparación de métodos

Método .merge():

  • Columna(s) a unir en
    • on, left_on y right_on
  • Tipo de unión
    • how (left, right, inner, outer) {{@}}
    • predeterminado interno
  • Superponer los nombres de columnas
    • suffixes
  • Llamar al método
    • df1.merge(df2)

Método merge_ordered():

  • Columna(s) a unir en
    • on, left_on y right_on
  • Tipo de unión
    • how (left, right, inner, outer)
    • exterior predeterminado
  • Superponer los nombres de columnas
    • suffixes
  • Llamar a la función
    • pd.merge_ordered(df1, df2)
Unir datos con pandas

Conjunto de datos financieros

Imagen de un periódico con el gráfico del Dow Jones

1 Foto de Markus Spiske en Unsplash.
Unir datos con pandas

Datos bursátiles

Nombre de la tabla: aapl

  date        close    
0 2007-02-01  12.087143
1 2007-03-01  13.272857
2 2007-04-01  14.257143
3 2007-05-01  17.312857
4 2007-06-01  17.434286

Nombre de la tabla: mcd

  date        close    
0 2007-01-01  44.349998
1 2007-02-01  43.689999
2 2007-03-01  45.049999
3 2007-04-01  48.279999
4 2007-05-01  50.549999
Unir datos con pandas

Fusión de datos bursátiles

import pandas as pd
pd.merge_ordered(aapl, mcd, on='date', suffixes=('_aapl','_mcd'))
  date        close_aapl  close_mcd
0 2007-01-01  NaN         44.349998
1 2007-02-01  12.087143   43.689999
2 2007-03-01  13.272857   45.049999
3 2007-04-01  14.257143   48.279999
4 2007-05-01  17.312857   50.549999
5 2007-06-01  17.434286   NaN
Unir datos con pandas

Relleno hacia delante

Imagen del antes y el después de un relleno hacia delante. Los valores que faltan en una columna se rellenan con los valores anteriores de esa columna.

Unir datos con pandas

Ejemplo de relleno hacia adelante

pd.merge_ordered(aapl, mcd, on='date', 
                 suffixes=('_aapl','_mcd'), 
                 fill_method='ffill')
  date        close_aapl  close_mcd
0 2007-01-01  NaN         44.349998
1 2007-02-01  12.087143   43.689999
2 2007-03-01  13.272857   45.049999
3 2007-04-01  14.257143   48.279999
4 2007-05-01  17.312857   50.549999
5 2007-06-01  17.434286   50.549999
pd.merge_ordered(aapl, mcd, on='date', 
                 suffixes=('_aapl','_mcd'))
  date        close_aapl  close_mcd
0 2007-01-01  NaN         44.349998
1 2007-02-01  12.087143   43.689999
2 2007-03-01  13.272857   45.049999
3 2007-04-01  14.257143   48.279999
4 2007-05-01  17.312857   50.549999
5 2007-06-01  17.434286   NaN
Unir datos con pandas

¿Cuándo utilizar merge_ordered()?

  • Datos ordenados / series temporales
  • Rellenar los valores que faltan
Unir datos con pandas

¡Vamos a practicar!

Unir datos con pandas

Preparing Video For Download...