Aportes 12

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El siguiente codigo llama a una API y devuelve un dataframeimport pandas as pd import requests \# URL de la API (en este caso, JSONPlaceholder para obtener datos de usuarios) url = "https://jsonplaceholder.typicode.com/users" \# Hacer la solicitud GET a la API response = requests.get(url) ```js import pandas as pd import requests url = "https://jsonplaceholder.typicode.com/users" response = requests.get(url) data = response.json() df = pd.DataFrame(data) print(df.head()) ```
Aquí el código para generar un mapa de Bogotá a partir de la API de OpenStreetMap: ```js import requests import pandas as pd import folium # Función para obtener coordenadas de Bogotá desde la API de OpenStreetMap (Nominatim) def get_coordinates(city="Bogotá", country="Colombia"): url = f"https://nominatim.openstreetmap.org/search?city={city}&country={country}&format=json" response = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}) if response.status_code == 200: data = response.json() if data: return float(data[0]["lat"]), float(data[0]["lon"]) return None, None # Obtener coordenadas de Bogotá latitude, longitude = get_coordinates() # Verificar si se obtuvieron correctamente las coordenadas if latitude and longitude: print(f"Coordenadas de Bogotá: Latitud {latitude}, Longitud {longitude}") # Crear un mapa centrado en Bogotá mapa = folium.Map(location=[latitude, longitude], zoom_start=12) # Agregar un marcador en Bogotá folium.Marker([latitude, longitude], popup="Bogotá, Colombia", tooltip="Click aquí").add_to(mapa) # Mostrar el mapa mapa else: print("No se pudieron obtener las coordenadas de Bogotá.") from IPython.display import display, IFrame # Guardar el mapa en un archivo HTML mapa.save("mapa_bogota.html") # Mostrar el mapa en el notebook display(IFrame("mapa_bogota.html", width=700, height=500)) ```import requests import pandas as pd import folium \# Función para obtener coordenadas de Bogotá desde la API de OpenStreetMap (Nominatim) def get\_coordinates(city="Bogotá", country="Colombia"): url = f"https://nominatim.openstreetmap.org/search?city={city}\&country={country}\&format=json" response = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}) if response.status\_code == 200: data = response.json() if data: return float(data\[0]\["lat"]), float(data\[0]\["lon"]) return None, None \# Obtener coordenadas de Bogotá latitude, longitude = get\_coordinates() ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-02-23%20a%20la%28s%29%2015.43.32-02b71efc-785d-4ccc-b584-e566583fa468.jpg)
El codigo para conectarnos a una base de datos tipo sqlite3 le falta otra libreria para que todo el bloque de codigo funcione. ```js import sqlite3 import pandas as pd # Importar pandas # Conectar a la base de datos conn = sqlite3.connect('sales.db') df = pd.read_sql_query("SELECT * FROM transactions", conn) print(df.head()) conn.close() ```import sqlite3 import pandas as pd # Importar pandas \# Conectar a la base de datos conn = sqlite3.connect('sales.db') \# Leer los datos de la tabla 'transactions' en un DataFrame df = pd.read\_sql\_query("SELECT \* FROM transactions", conn) \# Mostrar las primeras filas del DataFrame print(df.head()) \# Cerrar la conexión (opcional, pero recomendado) conn.close()
Comentar que la Base de Datos MariaDB, cuenta con el motor de base de datos ColumnStore, el cual permite manejar grandes volúmenes de datos, el rendimiento es notable cuando realizamos agrupaciones/agregaciones. Este motor de datos ya viene incluido en MariaDB Server desde 2016 (ColumnSrore, MariaDB Galera Cluster, MaxScale...).
Para trabajar con datos desde archivos, bases de datos y APIs, sigue estos pasos: 1. **Archivos**: Usa bibliotecas como `pandas` en Python para cargar datos desde archivos CSV, JSON o XML. Por ejemplo: ```python import pandas as pd df = pd.read_csv('data.csv') ``` 2. **Bases de Datos**: Conéctate a bases de datos como MySQL o SQLite usando bibliotecas como `sqlite3` o `SQLAlchemy`. Puedes ejecutar consultas SQL para extraer datos. ```python import sqlite3 conn = sqlite3.connect('database.db') df = pd.read_sql_query('SELECT * FROM table', conn) ``` 3. **APIs**: Consume APIs utilizando `requests` para obtener datos en tiempo real. ```python import requests response = requests.get('https://api.example.com/data') data = response.json() ``` Estas habilidades son fundamentales para el análisis de datos y desarrollo de software.
Yo usaba google colab para no tener que pasar por la instalacion de Jupyter Notebook en mi portatil, con esta clase, me di a la tarea de instalarla para poder conectarme a una DB local y funciono al 100.
La api de la clase esta caida por que aparece codigo 401, se puede probar con la url que dejo el compañero que es <https://jsonplaceholder.typicode.com/users> esas i trae algunos datos. 👍🖥️
```js import pandas as pd import requests url = "https://jsonplaceholder.typicode.com/todos" response = requests.get(url) data = response.json() df = pd.DataFrame(data) print(df.head(200)) ```
Exportar datos en diferentes formatos como CSV, JSON y Excel es una tarea común y se puede hacer fácilmente con la librería **Pandas** en Python. Aquí te muestro cómo hacerlo: ### **1. Preparar los datos** Primero, necesitamos tener un DataFrame con los datos que deseamos exportar. import pandas as pd \# Crear un DataFrame de ejemplo data = { 'Nombre': \['Mario', 'Ana', 'Luis'], 'Edad': \[30, 25, 35], 'Ciudad': \['Bogotá', 'Medellín', 'Cali'] } df = pd.DataFrame(data) print(df) ### **2. Exportar a CSV** Usa el método `to_csv` para guardar el DataFrame en un archivo CSV. \# Exportar a un archivo CSV df.to\_csv('datos.csv', index=False, encoding='utf-8') print("Archivo CSV exportado con éxito.") **Opciones comunes:** * `index=False`: Evita guardar el índice como columna adicional. * `encoding='utf-8'`: Garantiza la compatibilidad con caracteres especiales. ### **3. Exportar a JSON** Usa el método `to_json` para guardar el DataFrame en formato JSON. \# Exportar a un archivo JSON df.to\_json('datos.json', orient='records', lines=False, force\_ascii=False) print("Archivo JSON exportado con éxito.") **Opciones comunes:** * `orient='records'`: Cada fila se convierte en un objeto JSON. * `force_ascii=False`: Permite caracteres no ASCII como acentos. ### **4. Exportar a Excel** Usa el método `to_excel` para guardar el DataFrame en un archivo Excel. \# Exportar a un archivo Excel df.to\_excel('datos.xlsx', index=False) print("Archivo Excel exportado con éxito.") **Requisitos:** * Asegúrate de instalar la librería `openpyxl` (para archivos `.xlsx`):pip install openpyxl ### **5. Comprobación de archivos exportados** Después de ejecutar los scripts, verifica que los archivos `datos.csv`, `datos.json` y `datos.xlsx` se hayan creado correctamente en el directorio de trabajo. ### **6. Exportar múltiples hojas a Excel** Si necesitas exportar varios DataFrames en un archivo Excel con múltiples hojas: \# Crear un segundo DataFrame df2 = pd.DataFrame({'Producto': \['A', 'B', 'C'], 'Precio': \[100, 200, 300]}) \# Exportar múltiples hojas with pd.ExcelWriter('multiples\_hojas.xlsx', engine='openpyxl') as writer: df.to\_excel(writer, sheet\_name='Personas', index=False) df2.to\_excel(writer, sheet\_name='Productos', index=False) print("Archivo Excel con múltiples hojas exportado con éxito.")
Me emocione con el curso :) y estuve buscando algunas API’s open source que sea interesante para poder practicar lo aprendido en las clases; el siguiente código tiene el propósito de obtener información sobre asteroides cercanos a la Tierra y filtrar aquellos que son potencialmente peligrosos. El código interactúa con la API NeoWs (Near Earth Object Web Service) de la NASA mediante una solicitud HTTP GET para obtener datos en formato JSON sobre asteroides detectados en un rango de fechas. Luego, procesa la información utilizando diccionarios y listas en Python, aplicando funciones para extraer solo los que representan un posible riesgo de impacto. Así también, utiliza una función para calcular dinámicamente el intervalo de consulta y almacena los asteroides peligrosos en un diccionario organizado por fechas para luego almacenarlos y posteriormente analizarlos. ```js import pandas as pd import requests import json from datetime import datetime, timedelta start_date = "2025-02-15" end_date = "2025-02-22" def range_dates(d_start, d_end): start = datetime.strptime(d_start, "%Y-%m-%d") end = datetime.strptime(d_end, "%Y-%m-%d") return [(start + timedelta(days=i)).strftime("%Y-%m-%d") for i in range((end - start).days + 1)] url = f"https://api.nasa.gov/neo/rest/v1/feed?start_date={start_date}&end_date={end_date}&api_key={key}" response = requests.get(url) if response.status_code == 200: asteroid_data = response.json() dict_data_ast = asteroid_data['near_earth_objects'] else: print(f"Error en la solicitud: {response.status_code}") dates = range_dates(start_date, end_date) hazardous_asteroids = {} for date in dates: pre_list = list(filter(lambda item: item['is_potentially_hazardous_asteroid'] == True, dict_data_ast[date])) hazardous_asteroids[date] = pre_list ```
Que lindo formato este, me puedo concentrar en la explicación y al final sólo copio el código para mis apuntes. Muy bien!
Hola, alguien que haya hecho la practica de la base de datos desde MySQL Workbench y le haya funcionado? A mí siempre me sale que no existe la tabla y en realidad pues si existe :)
undefined