Analytics Premium ComScore ClickTale Analytics Certified Partner Klipfolio Coremetrics
Tags populares:

Importando datos en Python (I)

23/02/2017 a las 08:00

En posts anteriores pasamos de una introducción a Python a la visualización de datos en este lenguaje.

Gran parte del potencial de Python reside en su capacidad en las fases previas al análisis de datos, es decir, lectura del raw data y depuración del mismo.

En esta serie nos centraremos en la lectura de datos en diversos formatos (ficheros planos, otras extensiones y bases de datos relacionales).

 

Ficheros planos

Son ficheros de texto que almacenan registros (filas de características o atributos).

En la primera fila podemos encontrar una cabecera con el nombre de cada una de las características o atributos.

Existen dos extensiones: .csv (valores separados por comas) y .txt (los valores pueden estar separados por coma, espacio, tabulador…).

Hagamos un breve recordatorio sobre el uso de librerías en Python. Para usar una función de una librería específica, previamente hemos de cargar la librería mediante import. Para hacer la llamada a dicha función usaremos nombre_librería.nombre_función() o bien alias_librería.nombre_función().

Otro aspecto a tener en cuenta es que los archivos a importar han de estar en el directorio de trabajo actual. Si no recordamos su ubicación, podemos comprobarlo:

En Python hay dos librerías con las que importar ficheros planos: NumPy y pandas.

 

1. NumPy

Los datos importados se almacenan en una matriz.

  • Mismo tipo de datos.

La función loadtxt() de NumPy carga el archivo en una matriz.

El delimitador por defecto es espacio en blanco, si es otro habrá que pasarlo como segundo argumento delimiter (‘,’ en el caso de coma, ‘\t’ si es tabulador…).

Si el archivo tiene cabecera podemos saltar las filas correspondientes con skiprows (pasar el valor 0 es equivalente a omitir este argumento, devolviendo todas las filas).

Para fijar las columnas pasamos el argumento usecols=[…] con sus índices, recordando que a la primera columna corresponde el índice 0.

Si nuestro archivo contiene valores no numéricos le indicamos que los guarde como cadena, añadiendo a la función loadtxt().astype(str)

  • Diferente tipo de datos.

Si en nuestro archivo tenemos datos de diferentes tipos, podemos usar dos funciones: genfromtext() y recfromcsv().

genfromtext():

Cuando exista cabecera, especificaremos names=True.

Al pasar el argumento dtype=None, la función averigua qué tipo corresponde a cada columna.

En la salida podemos observar que las variables tipo cadena están precedidas por una ‘b’. Este carácter sólo indica que la cadena es de tipo ‘bytestring’, el valor almacenado es la cadena entre comillas simples.

Al contener datos de diferente tipo, el archivo importado será un objeto llamado matriz estructurada. Como las matrices NumPy han de contener elementos del mismo tipo, la matriz estructurada es unidimensional, donde cada uno de sus elementos corresponde a una fila del fichero plano importado.

El acceso a una matriz estructurada es muy intuitivo. Así:

• Filas (por índice): data[i] > fila i-ésima

• Columnas (por nombre): data[‘Nombre_columna’]

recfromcsv():

Análoga a la anterior, excepto que su valor por defecto para dtype es ‘None’.

Probemos a obtener el mismo resultado que en la ejecución anterior, pero limitando la impresión de datos a las 3 primeras filas.


 

2. pandas

Los datos importados se almacenan en un dataframe.

La librería pandas hace posible llevar a cabo todo el proceso (lectura de datos, depuración, análisis y modelización) sin necesidad de cambiar a un lenguaje más específico como R (idea difícil de encajar para un R lover ).

Encontramos aquí el concepto dataframe, análogo al de R, que no es más que un conjunto de observaciones y variables.

La función read_csv() lee un fichero plano y lo almacena en un dataframe.

El argumento nrows limita el número de filas a importar.

En caso de no tener cabecera, pasamos el argumento header=None.

Limitamos la visualización de datos con la función nombre_dataframe.head().

Vemos que los valores perdidos se han recodificado como NaN.

La función read_csv() puede tomar otros argumentos como:

sep: indica el tipo de separador.

comment: especifica el carácter que precede a un comentario.

na_values: pasa una lista de cadenas que queremos identificar como valores perdidos.

 

Nota: los ficheros que se han usado como muestra proceden de diferentes bancos de datos de acceso libre.

• demo.txt: ticdata2000.txt

• demo2.txt: Waterbase_Emissions_v1_codelist_HazardSubDeterminands.txt

• demo.csv:

Demographic_Profile_of_Family_Planning_Access_Care_and_Treatment_Clients_Served_by_Fiscal_Year.csv

Ya podemos empezar a importar nuestros ficheros planos en Python

Cuidado si usas entornos y workspace en GTM

20/02/2017 a las 12:04

De todos es sabido que cuando se trata de un gestor de etiquetas hay que andarse con mucho cuidado para no acabar liándola. Si a eso le sumas que, en la mayoría de los casos, son más de una las personas responsables de estos cambios el lío que se puede formar, sin una buena organización, está más que asegurado.

Workspace

Por eso se crearon los espacios de trabajo o workspace de GTM, para que el trabajo en paralelo en un mismo contenedor no fuera tan peligroso. Por defecto GTM viene con un único workspace.

Google Data Studio: adiós al límite de 5 informes

02/02/2017 a las 19:32

A partir de hoy, la versión gratuita de Data Studio, la solución de Google para la creación de cuadros de mando e informes que os presentamos en su día,  ya no nos va a limitar a 5 informes o reports por cuenta.

Y como esa era la única diferencia entre esta versión y la de pago (Data Studio 360), Google dejará de cobrar por la segunda durante el resto de 2017 a los clientes que la tuvieran contratada.

Data Studio: ejemplo de cuadro de mando (Fuente: Google)

Un ejemplo de cuadro de mando realizado con Data Studio (Fuente: Google)

 

Entendemos la decisión de Google porque conocemos bien la herramenta. Estamos certificados, trabajamos con ella y seguimos de cerca los avances y novedades que se van incorporando. Es sólida y su amigable interfaz permite crear cuadros de mando muy completos en poco tiempo. Pero es una beta y se nota: se echan de menos conectores con más fuentes de datos dsitintas, por ejemplo. Y también había algunas carencias de partida difíciles de explicar, como la ausencia de semanas ISO en los selectores de periodo. Esta en concreto, fue subsanada hace unos días y ya es posible, al fin, seleccionar semanas comenzando por el lunes.

data studio beta logo

Google está mejorando Data Studio rápidamente y teniendo en cuenta las sugerencias de los usuarios. La propia herramienta nos enlaza con el foro oficial desde la ayuda, animándonos a participar. A mejoras como las nuevas opciones en los selectores de fechas, se van a ir uniendo otras muy demandadas como los segmentos avanzados en el conector con Google Analytics.  Cuando la palabra “beta” desaparezca de su nombre, si el ritmo de mejora no decae, podemos llegar a tener una herramienta bastante completa y potente.

Para terminar, es importante remarcar que está previsto que algunas de las características que están por llegar no estén pensadas para ofrecerse en una herramienta gratuita, lo que justificará volver a comercializar una versión 360 de pago en un futuro.

Podéis leer el comunicado oficial de Google aquí.

Y si no conocéis todavía Data Studio, un buen comienzo puede ser este video:

Alternative analytics tracking for IFrames

23/01/2017 a las 17:06

Be it for basic form submission, third party content, or even behind-the-scenes logging, IFrames often play important roles in online user behavior. An IFrame (Inline Frame) is an HTML document embedded inside another HTML document on a website, but despite IFrames grant us a lot of flexibility in our sites. They make our analytic tracking code quite harder to implement. Some examples would be cross-domain problems or third party IFrames in which we cannot insert our analytics code. In this post we are going to explain how to treat most of the common issues that IFrames provoques.

IFrames schema

 

The main idea for this implementation, is that the parent page will always send the hits to analytics. Even the interactions that are coming from the IFrame

Power BI como herramienta de Analítica Web

17/01/2017 a las 10:01

Cada día se generan toneladas y toneladas de datos en el mundo empresarial ya sea en un entorno online como en un entorno off-line y cada vez son más el número de herramientas o software que utilizamos. Surge la necesidad de tener todos esos datos en un mismo lugar.

En el análisis de los datos debemos crear un plan de proyecto de análisis, mejorar los problemas de calidad de los datos y trabajar con un equipo multifuncional (consultor analítico, Técnico IT, desarrollo BI). En definitiva, debemos transformar estos datos en valor para la empresa.

Microsoft Power BI tiene 4 productos:

  • Power BI Desktop. Es la instalación en local, su uso es el entorno de trabajo donde posteriormente publicaremos en Power BI (online)
  • Power BI Online, es el entorno donde se comparte y publican los paneles y los informes.
  • Power BI Mobile para acceder en cualquier lugar y en cualquier momento
  • Power BI Embedded. Si tienes una aplicación o intranet y quieres integrarla con Power BI lo puedes hacer mediante la API de Power BI. Ver ejemplo de Power BI Embedded

Nueva versión de la API de Google Analytics + R statistics

03/01/2017 a las 15:30

Con motivo del lanzamiento de la versión 4 de la API de Google Analytics, mostramos las nuevas funcionalidades que ofrece. Para información sobre migraciones de la API de Google Analytics pincha en el enlace anterior.

Nosotros destacamos las siguientes funcionalidades que respectan a la presentación de informes:

  • Combinación de métricas mediante expresiones matemáticas de cara a las consultas de datos. 
  • Solicitud de dos o más períodos simultáneos en una misma consulta.
  • Solicitud de datos de varios segmentos avanzados en la misma consulta. Podría llegar a ser complicado formularlos en Google Analytics, para ello se ha creado un User Interface con Shiny de gran ayuda. Para acceder a la herramienta, pincha en el siguiente enlace.

¿Cómo empezar a sacarle partido a la nueva versión de la API de Google Analytics? Para cantidades masivas de datos, un fichero Excel nos limitaría los análisis, por lo que un recurso de 10 es, ni más ni menos, que trabajar con la herramienta R statistics.

¿Cómo eliminar el SPAM de referencia en Google Analytics?

22/12/2016 a las 17:50

El spam de referencia o referrer spam se trata de las visitas que llegan a nuestro site desde un determinado dominio a través de un enlace que apunta a nuestra web, y que realmente no son visitas reales. Tienen un comportamiento extraño como puede ser una duración de 0 segundos.

¿Desconoces si tu site tiene referrer spam?

Es fácil de comprobarlo, tan sólo tienes que ir dentro de analytics y seleccionar “Adquisición -> Todo el tráfico -> Referencias

Cómo convertir un formulario en un embudo

21/12/2016 a las 12:06

Hace algunos meses, escribí un post sobre cómo estudiar el rendimiento de tus formularios mediante el uso de eventos y páginas virtuales

La semana pasada expliqué cómo usar los eventos para medir las interacciones de un usuario con los campos de un formulario, en esta ocasión voy a explicar la segunda parte del post original, es decir cómo crear un embudo con los campos de un formulario (siendo el objetivo enviar el mismo).

Usar el embudo para representar el uso del formulario, nos permite identificar de manera visual en qué campo/os tenemos problemas y por tanto qué hay que cambiar.

Para contextualizar el post, de nuevo imaginemos que voy a trabajar sobre un formulario como el de la imagen.

Usaremos, como en el post anterior, el GTM para implementar el proceso de seguimiento.

Ejemplo de un posible formulario a seguir

Ejemplo de un posible formulario a seguir

Qué necesitas para seguir el formulario

Para poder implementar la solución que voy a describir en el post necesitarás lo siguiente:

Cómo medir el uso de los formularios mediante eventos

15/12/2016 a las 10:36

Hace algunos meses, escribí un post sobre cómo estudiar el rendimiento de tus formularios mediante el uso de eventos y páginas virtuales

Prometí que algún día explicaría cómo hacerlo así que como lo prometido es deuda, aquí está la explicación del primer punto. (Aviso: requiere ciertos conocimientos de cómo funciona GTM y cómo enviar valores al mismo desde una página)

En este primer post, comenzaba explicando cómo usar los eventos para simular un embudo  y medir así el uso de los diferentes campos del formulario, vamos a ver ahora cómo podemos activar esto en nuestros formularios mediante el uso de GTM.

Para contextualizar el post, imaginemos que voy a trabajar sobre un formulario como el de la imagen

Ejemplo de un posible formulario a seguir

Ejemplo de un posible formulario a seguir

Qué necesitas

Para poder implementar la solución que voy a describir en el post necesitarás lo siguiente:

Visualización de datos con Python

13/12/2016 a las 07:59

En un post anterior hicimos una introducción a Python, enfocado al análisis de datos. En él instalamos Python, el paquete pip (encargado del mantenimiento del sistema y la instalación de otros paquetes) y numpy (permite calculo matricial y uso de funciones estadísticas).

Hoy trataremos la visualización de datos con matplotlib, un paquete que pone a nuestra disposición gran variedad de gráficos. Con pocas líneas de código seremos capaces de generar gráficos de tendencia, barras, dispersión, histogramas…

A continuación exponemos tres tipos de visualización de los más usados.

 

1. Gráfico de tendencia: muy útil cuando tenemos escalas de tiempo en el eje horizontal.

plot1_script
1_plot
 

2. Gráfico de burbujas: es un gráfico de dispersión para medir la asociación entre dos variables, introduciendo una tercera que determina el tamaño de la burbuja, o incluso una cuarta, que asigna un color.

plot2_script
2_plot
 

3. Histograma: en la fase exploratoria nos da una idea de la distribución de los datos.

plot3_script
3_plot
 

Recuerden que para consultar la documentación sobre un tipo de gráfico hacemos uso del comando:

help(plt.nombre_función_gráfico), donde plt es el alias de matplotlib.pyplot

A practicar!!!

Se advierte al usuario del uso de cookies propias y de terceros de personalización y de análisis al navegar por esta página web para mejorar nuestros servicios y recopilar información estrictamente estadística de la navegación en nuestro sitio web. Política de cookies Acepto