Truco Python. Restar meses con formato YYYYMM

La operación con fechas en meses con el formato YYYYMM es tarea habitual cuando trabajamos con tablas particionadas. De hecho hay una entrada en el blog sobre esto muy popular. Me ha surgido este tema con Python y os pongo la función que he creado: def dif_mes(d1, d2): return (d1//100 - d2//100) * 12 + d1%100 - d2%100 dif_mes (201812,201709) Muy sencilla, por si os surge la necesidad.

10 de abril de 2018 · rvaquerizo

Facebook y su Facebookgate son buenas noticias para el data scientist y para el oficio en general

En todo el lío de Facebook y su Facebookgate o Facegate ha aparecido el nombre de Cambridge Analytica empresa dedicada al análisis de datos para el desarrollo de campañas. Probablemente en la mente de todos está la forma de operar de esta compañía con estorsiones, prostitutas y malas artes varias. Sin embargo yo me quedo con lo que se supone que ha hecho esta empresa con los datos de millones de usuarios de Facebook, los análisis llevados a cabo por Cambridge Analytica han influido en la campaña presidencial de Estados Unidos y en el referéndum por el Brexit. Es decir, gestión de grandes volúmenes de datos y métodos de análisis (no sé si avanzados o no) son capaces de poner y quitar presidentes de la democracia más importante del mundo. ...

21 de marzo de 2018 · rvaquerizo

Notebook para empezar (y probar) en spark y scala

No debo enseñar Spark a nadie, no soy ni un usuario avanzado, ni le veo mucho recorrido. Sin embargo tengo que hacer diversos procesos con dataframes en Spark y realizar modelos con MLlib y tengo que «perder tiempo» probando cosas, necesitaba un entorno sencillo en casa. En un primer momento exploré máquinas virtuales y alguna sandbox. Ninguna me convencía y le pedí a un compañero mío, Juanvi, que sabe mucho que me montara un entorno con un notebook de Spark para poder jugar con scala y MLlib de modo sencillo. En vez de montarme el entorno en 20 minutos me escribió un correo con 3 direcciones que me están siendo de mucha utilidad y quería compartirlas con vosotros. ...

11 de marzo de 2018 · rvaquerizo

ILOVEFS18 Amor por el software libre

Los días 13 y 14 de Febrero no podéis perderos en Madrid el ILOVEFS18 un evento al que si estáis por aquí no podéis faltar. Para más información tenéis el siguiente link: http://medialab-prado.es/article/ilovefs18 ¡Nos vemos!

12 de febrero de 2018 · rvaquerizo

De actuario a científico de datos

Si vemos las tendencias de búsqueda de Google Trends entre actuary y data scientist desde 2015 se aprecia que la segunda tendencia ha ido en aumento en los últimos tiempos hasta ser una búsqueda tan popular o más que la tendencia actuary. Aunque tengo formación como estadístico e informático he trabajado haciendo labores de actuario especializado en precios tanto de nuevo negocio como en renovación durante muchos años y ahora estoy evolucionando para convertirme en científico de datos. He hablado en algún evento de este cambio de paradigma que va más allá de quitarme la corbata y venir a trabajar en zapatillas. En mi opinión el origen de este cambio está en el trabajo en entornos colaborativos y por consiguiente en el uso y la extensión del software libre y los beneficios que esto supone. ...

7 de enero de 2018 · rvaquerizo

Beatifulsoup. Web scraping con Python o como las redes sociales pueden estar cambiando la forma de escribir

Desde hace tiempo mis frases son más cortas. Creo que es un problema de las redes sociales, sobre todo twitter, que está cambiando mi comportamiento. Para analizar si esto está pasando se me ha ocurrido analizar la longitud de las frases de este blog desde sus inicios y de paso aprovechar para hacer web scraping con la librería Beatifulshop de Python. La idea es recorrer el blog y calcular la longitud de las frases y representar gráficamente como ha ido evolucionando esa longitud. ...

25 de diciembre de 2017 · rvaquerizo

Diagramas de Voronoi con spatial de python

En breve «mis cachorros», como llamo a un grupo de los mejores Data Scientist de Europa (de los que tengo que hablar algún día) se van a enfrentar a un problema que probablemente tengan que resolver con análisis geométricos muy complejos. Para despertarles la curiosidad (sé que me leen) hoy traigo al blog una entrada que nos aproxima al método de interpolación geométrica más sencillo, al diagrama de Voronoi. Con spatial de scipy (https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.spatial.Voronoi.html) podemos trabajar con estos diagramas: ...

8 de diciembre de 2017 · rvaquerizo

Los bancos lo llaman Transformación Digital yo lo llamo me da miedo Facebook

¿Si Facebook prestara dinero? ¿Si Facebook hiciera un banco? Tiene información interesante de nosotros, variables relevantes para cualquier modelo de scoring de crédito y sabe como es tu comunidad de amigos cibernéticos y cuales de ellos podrían avalarte a la hora de conceder un crédito. Además tanto Facebook, como Amazon o Wallapop tienen sus propios medios de pago y Google no tardará en crear su propio banco, unos están creando la economía del futuro y otros no pueden sobrevivir sin programadores en COBOL, entiendo que se quieran transformar aunque a lo mejor no es un tema de captar pasivo y prestar dinero a lo mejor es un tema de relacionar los recursos de las personas.

29 de octubre de 2017 · rvaquerizo

Preparar nuestros datos para sklearn. Pasar de string a número

Cuando trabajamos con python y sklearn necesitamos que todos los datos que vamos a modelizar sean númericos, si tenemos variables carácter necesitamos previamente transformarlas a números. La forma más rápida para realizar esta tarea es emplear preprocesing de sklearn: import pandas as pd dias = {'dia': ['lunes','martes','viernes','miercoles','jueves','martes','miercoles','jueves','lunes']} dias = pd.DataFrame(dias) dias Creamos un data frame a partir de una diccionario que se compone de los días de la semana ahora vamos a codificar las etiquetas con el LabelEncoder de sklearn: ...

24 de octubre de 2017 · rvaquerizo

Pasando de SAS a R. Primer y ultimo elemento de un campo agrupado de un data frame

Las personas que están acostumbradas a trabajar con SAS emplean mucho los elementos first, last y by, en el blog hay ejemplos al respecto, en R podemos hacer este trabajo con la librería “estrella” dplyr de un modo relativamente sencillo. A continuación se presenta un ejemplo para entender mejor como funciona, creamos un conjunto de datos aleatorio: ```r id <- rpois(100,20) mes <- rpois(100,3)+1 importe <- abs(rnorm(100))*100 df <- data.frame(cbind(id,mes,importe)) Tenemos un identificador, una variable mes y un importe y deseamos obtener el menor importe por mes el primer paso a realizar es ordenar el data frame de R por ese identificador, el mes y el importe en orden descendente: ...

19 de octubre de 2017 · rvaquerizo