<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Python
Pero la estrella indiscutible de Jupyter es Python, que se está convirtiendo poco a poco en el lenguaje de facto para el análisis de datos, decantando lentamente R, SAS, Matlab...
Lo importante no son los lenguajes, sino el enorme ecosistema de herramientas que han aparecido gracias a la apertura y facilidad de Python.
Jake VanderPlas mantiene una colección de notebooks muy interesantes
Step1:  Poner NFQ en un mapa
¿Cómo de difícil puede ser pintar un mapa interactivo de Madrid y poner la geolocalización de las oficinas de NFQ en él?
Step2:  Leer un archivo Excel
Hay otra herramienta que también mezcla datos, lógica y repesentacón
<ASSISTANT_TASK:>
Python Code:
import pandas as pd
import numpy as np
from sklearn import linear_model
from matplotlib import pylab as plt
plt.style.use('bmh')
%matplotlib notebook
wine = pd.read_csv('data/winequality-white.csv',delimiter=';')
wine.describe()
fig = plt.figure(2)
ax = [fig.add_subplot(3,4,i) for i in range(1,12)]
models = [linear_model.LinearRegression() for i in range(11)]
for column, model in zip(wine.columns, models):
    model.fit(wine['quality'].reshape(-1,1),
              wine[column].as_matrix().reshape(-1,1))
for qual, group in wine.groupby('quality'):
    for column, axis in zip(group.columns, ax):
        axis.plot(qual, group[column].mean(), 'ob')
        axis.set_title(column + ' (avg)', fontsize=10)
        
qual = np.arange(3,10)
for model, axi in zip(models, ax):
    axi.plot(qual, model.coef_[0][0]*qual + model.intercept_,
             'r--', linewidth=4, label='Regression')
    axi.legend(fontsize=6)
    
fig.tight_layout()
Explanation: Python
Pero la estrella indiscutible de Jupyter es Python, que se está convirtiendo poco a poco en el lenguaje de facto para el análisis de datos, decantando lentamente R, SAS, Matlab...
Lo importante no son los lenguajes, sino el enorme ecosistema de herramientas que han aparecido gracias a la apertura y facilidad de Python.
Jake VanderPlas mantiene una colección de notebooks muy interesantes:
Para aprender Python
Para aprender Machine Learning
¿Podemos predecir si un vino blanco será bueno?
Existe una base de datos de propiedades químicas de vinos y su valoración en catas que proviene de este paper.
P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis. Modeling wine preferences by data mining from physicochemical properties. In Decision Support Systems, Elsevier, 47(4):547-553, 2009. 
Se trata de más de 4000 vinos verdes portugueses. El objetivo es entender los datos y proporcionar una guía visual sencilla de qué propiedades debe tener un buen vino blanco.
End of explanation
import folium
madrid = folium.Map(location=[40.429857, -3.685812], tiles="Stamen toner",
                    zoom_start=15)
nfqsolutions = folium.Marker([40.429857, -3.685812], popup='NFQ Solutions')
madrid.add_children(nfqsolutions)
madrid.save('madrid.html')
madrid
Explanation: Poner NFQ en un mapa
¿Cómo de difícil puede ser pintar un mapa interactivo de Madrid y poner la geolocalización de las oficinas de NFQ en él?
End of explanation
with pd.ExcelFile('./data/winequality-white.xls') as xls:
    wines = pd.read_excel(xls, 'Sheet1')
    
wines.describe()
Explanation: Leer un archivo Excel
Hay otra herramienta que también mezcla datos, lógica y repesentacón: una hoja de cálculo. Pero Excel (la hoja de cálculo más frecuente) no escala con los datos.
Mala eficiencia de memoria.
Uso de datos no tabulables.
Simplicidad y apariencia vs eficiencia y rendimiento.
El formato xlsx es la estrategia de vendor lock-in más exitosa de la historia.
La definicón práctica de Big Data es algo demasiado grande para ser seleccionado con el ratón en una hoja Excel.
End of explanation
<END_TASK>