Files
Visualizaciones/Datos_aleatorios_de_apis_internet.py
T

107 lines
2.1 KiB
Python

import marimo
__generated_with = "0.15.1"
app = marimo.App(width="medium")
@app.cell
def _():
import marimo as mo
return (mo,)
@app.cell
def _(mo):
mo.md(r"""# DataSamples: Datos de apis gratuitas""")
return
@app.cell
def _(mo):
mo.md(r"""Datos del tiempo De Openmeteo""")
return
@app.cell
def _():
import requests
import pandas as pd
# Ejemplo: clima horario en Madrid (lat=40.4168, lon=-3.7038)
url = "https://api.open-meteo.com/v1/forecast"
params = {
"latitude": 40.4168,
"longitude": -3.7038,
"hourly": "temperature_2m,relative_humidity_2m,precipitation"
}
response = requests.get(url, params=params)
data = response.json()
# Convertir a DataFrame
_df = pd.DataFrame({
"time": data["hourly"]["time"],
"temperature_C": data["hourly"]["temperature_2m"],
"humidity_%": data["hourly"]["relative_humidity_2m"],
"precipitation_mm": data["hourly"]["precipitation"]
})
_df
return pd, requests
@app.cell
def _(mo):
mo.md(r"""Datos de COVID-19""")
return
@app.cell
def _(pd, requests):
# import requests
# import pandas as pd
# Ejemplo: datos históricos de COVID en España
_url = "https://disease.sh/v3/covid-19/historical/Spain?lastdays=30"
_response = requests.get(_url)
_data = _response.json()
cases = _data["timeline"]["cases"]
deaths = _data["timeline"]["deaths"]
recovered = _data["timeline"]["recovered"]
# Convertir a DataFrame
_df = pd.DataFrame({
"date": list(cases.keys()),
"cases": list(cases.values()),
"deaths": list(deaths.values()),
"recovered": list(recovered.values())
})
_df
return
@app.cell
def _(mo):
mo.md(r"""Datos financieros de Yahoo Finance""")
return
@app.cell
def _():
import yfinance as yf
# import pandas as pd
# Ejemplo: descargar datos de Apple
ticker = yf.Ticker("AAPL")
hist = ticker.history(period="1mo")
_df = hist.reset_index()[["Date", "Open", "High", "Low", "Close", "Volume"]]
_df
return
if __name__ == "__main__":
app.run()