En este tutorial, demostramos la integración del robusto pandas de la biblioteca de manipulación de datos de Python con las capacidades generativas avanzadas de Google Cloud a través del paquete Google.Generativeai y el modelo Gemini Pro. Al configurar el entorno con las bibliotecas necesarias, configurar la clave de la API de Google Cloud y aprovechar las funcionalidades de visualización de iPython, el código proporciona un enfoque paso a paso para construir un agente de ciencias de datos que analice un conjunto de datos de ventas de muestra. El ejemplo muestra cómo convertir un marco de datos en formato de Markdown y luego usar consultas de lenguaje natural para generar información sobre los datos, destacando el potencial de combinar herramientas de análisis de datos tradicionales con métodos modernos impulsados por la IA.
!pip install pandas google-generativeai --quiet
Primero, instalamos las bibliotecas Pandas y Google-Generativeai en silencio, estableciendo el entorno para la manipulación de datos y el análisis con IA.
import pandas as pd
import google.generativeai as genai
from IPython.display import Markdown
Importamos PANDAS para la manipulación de datos, Google.Generativeai para acceder a las capacidades de IA generativas de Google y Markdown de iPython.display para representar salidas formatadas en marcado.
GOOGLE_API_KEY = "Use Your API Key Here"
genai.configure(api_key=GOOGLE_API_KEY)
model = genai.GenerativeModel('gemini-2.0-flash-lite')
Asignamos una tecla API de marcador de posición, configuramos el cliente Google.Generativeai con él e inicializamos el GenerAtivemodel ‘Gemini-2.0-Flash-Lite’ para generar contenido.
data = {'Product': ['Laptop', 'Mouse', 'Keyboard', 'Monitor', 'Webcam', 'Headphones'],
'Category': ['Electronics', 'Electronics', 'Electronics', 'Electronics', 'Electronics', 'Electronics'],
'Region': ['North', 'South', 'East', 'West', 'North', 'South'],
'Units Sold': [150, 200, 180, 120, 90, 250],
'Price': [1200, 25, 75, 300, 50, 100]}
sales_df = pd.DataFrame(data)
print("Sample Sales Data:")
print(sales_df)
print("-" * 30)
Aquí, creamos un Pandas DataFrame llamado Sales_DF que contiene datos de ventas de muestra para varios productos, e imprimimos el marco de datos seguido de una línea de separador para distinguir visualmente la salida.
def ask_gemini_about_data(dataframe, query):
"""
Asks the Gemini Pro model a question about the given Pandas DataFrame.
Args:
dataframe: The Pandas DataFrame to analyze.
query: The natural language question about the DataFrame.
Returns:
The response from the Gemini Pro model as a string.
"""
prompt = f"""You are a data analysis agent. Analyze the following pandas DataFrame and answer the question.
DataFrame:
```
{dataframe.to_markdown(index=False)}
```
Question: {query}
Answer:
"""
response = model.generate_content(prompt)
return response.text
Aquí, construimos un indicador de marcado con formato de un marco de datos Pandas y una consulta de lenguaje natural, luego usamos el modelo Gemini Pro para generar y devolver una respuesta analítica.
# Query 1: What is the total number of units sold across all products?
query1 = "What is the total number of units sold across all products?"
response1 = ask_gemini_about_data(sales_df, query1)
print(f"Question 1: {query1}")
print(f"Answer 1:\n{response1}")
print("-" * 30)
# Query 2: Which product had the highest number of units sold?
query2 = "Which product had the highest number of units sold?"
response2 = ask_gemini_about_data(sales_df, query2)
print(f"Question 2: {query2}")
print(f"Answer 2:\n{response2}")
print("-" * 30)
# Query 3: What is the average price of the products?
query3 = "What is the average price of the products?"
response3 = ask_gemini_about_data(sales_df, query3)
print(f"Question 3: {query3}")
print(f"Answer 3:\n{response3}")
print("-" * 30)
# Query 4: Show me the products sold in the 'North' region.
query4 = "Show me the products sold in the 'North' region."
response4 = ask_gemini_about_data(sales_df, query4)
print(f"Question 4: {query4}")
print(f"Answer 4:\n{response4}")
print("-" * 30)
# Query 5. More complex query: Calculate the total revenue for each product.
query5 = "Calculate the total revenue (Units Sold * Price) for each product and present it in a table."
response5 = ask_gemini_about_data(sales_df, query5)
print(f"Question 5: {query5}")
print(f"Answer 5:\n{response5}")
print("-" * 30)
En conclusión, el tutorial ilustra con éxito cómo la sinergia entre los pandas, el paquete Google.Generativeai y el modelo Gemini Pro pueden transformar las tareas de análisis de datos en un proceso más interactivo y perspicaz. El enfoque simplifica la consulta e interpretación de datos y abre vías para casos de uso avanzados, como la limpieza de datos, la ingeniería de características y el análisis de datos exploratorios. Al aprovechar estas herramientas de vanguardia dentro del ecosistema familiar de Python, los científicos de datos pueden mejorar su productividad e innovación, lo que facilita la obtención de ideas significativas de los conjuntos de datos complejos.
Aquí está el Cuaderno de colab. Además, no olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRsalpicar. No olvides unirte a nuestro 85k+ ml de subreddit.
Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarktechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.