Обсуждение участника:Наталья Захарова: различия между версиями

Материал из Поле цифровой дидактики
Новая страница: «=== Смурфики === {{#widget:iframe |url=https://www.slnova.org/NatZakh/projects/925436/ |width=1000 |height=1000 }}»
 
Нет описания правки
Строка 4: Строка 4:
|width=1000
|width=1000
|height=1000
|height=1000
}}
=== Погода ===
{{#widget:iframe
import requests
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
# Координаты города (например, Москва)
LATITUDE = 55.7558
LONGITUDE = 37.6173
CITY_NAME = "Москва"
# Даты: последние 7 дней
end_date = datetime.now().date()
start_date = end_date - timedelta(days=7)
# URL для запроса к Open‑Meteo
URL = (
    f"https://api.open-meteo.com/v1/forecast?"
    f"latitude={LATITUDE}&longitude={LONGITUDE}&"
    f"start_date={start_date}&end_date={end_date}&"
    f"hourly=temperature_2m,precipitation,wind_speed_10m&"
    f"timezone=Europe/Moscow"
)
response = requests.get(URL)
data = response.json()
# Извлекаем временные метки и параметры
timestamps = data['hourly']['time']
temperatures = data['hourly']['temperature_2m']
precipitations = data['hourly']['precipitation']
wind_speeds = data['hourly']['wind_speed_10m']
# Создаём DataFrame
df = pd.DataFrame({
    'Время': timestamps,
    'Температура, °C': temperatures,
    'Осадки, мм': precipitations,
    'Скорость ветра, м/с': wind_speeds
})
# Преобразуем столбец 'Время' в datetime
df['Время'] = pd.to_datetime(df['Время'])
df.to_csv('weather_data_openmeteo.csv', index=False, encoding='utf-8')
print("Данные сохранены в weather_data_openmeteo.csv")
# Создаём фигуру с тремя подграфиками
fig, axes = plt.subplots(3, 1, figsize=(14, 10), sharex=True)
# График температуры
axes[0].plot(df['Время'], df['Температура, °C'], color='red', linewidth=1)
axes[0].set_title(f'Температура в {CITY_NAME} за последние 7 дней')
axes[0].set_ylabel('Температура, °C')
axes[0].grid(True)
# График осадков
axes[1].bar(df['Время'], df['Осадки, мм'], color='blue', alpha=0.7, width=0.04)
axes[1].set_title('Осадки')
axes[1].set_ylabel('Осадки, мм')
axes[1].grid(True)
# График скорости ветра
axes[2].plot(df['Время'], df['Скорость ветра, м/с'], color='green', linewidth=1)
axes[2].set_title('Скорость ветра')
axes[2].set_ylabel('Скорость ветра, м/с')
axes[2].set_xlabel('Дата и время')
axes[2].grid(True)
plt.tight_layout()
plt.show()
}}
}}

Версия от 14:49, 12 апреля 2026

Смурфики

Погода

Ошибка в [[Widget:iframe

import requests import pandas as pd import matplotlib.pyplot as plt from datetime import datetime, timedelta

  1. Координаты города (например, Москва)

LATITUDE = 55.7558 LONGITUDE = 37.6173 CITY_NAME = "Москва"

  1. Даты: последние 7 дней

end_date = datetime.now().date() start_date = end_date - timedelta(days=7)

  1. URL для запроса к Open‑Meteo

URL = (

   f"https://api.open-meteo.com/v1/forecast?"
   f"latitude={LATITUDE}&longitude={LONGITUDE}&"
   f"start_date={start_date}&end_date={end_date}&"
   f"hourly=temperature_2m,precipitation,wind_speed_10m&"
   f"timezone=Europe/Moscow"

) response = requests.get(URL) data = response.json()

  1. Извлекаем временные метки и параметры

timestamps = data['hourly']['time'] temperatures = data['hourly']['temperature_2m'] precipitations = data['hourly']['precipitation'] wind_speeds = data['hourly']['wind_speed_10m']

  1. Создаём DataFrame

df = pd.DataFrame({

   'Время': timestamps,
   'Температура, °C': temperatures,
   'Осадки, мм': precipitations,
   'Скорость ветра, м/с': wind_speeds

})

  1. Преобразуем столбец 'Время' в datetime

df['Время'] = pd.to_datetime(df['Время']) df.to_csv('weather_data_openmeteo.csv', index=False, encoding='utf-8') print("Данные сохранены в weather_data_openmeteo.csv")

  1. Создаём фигуру с тремя подграфиками

fig, axes = plt.subplots(3, 1, figsize=(14, 10), sharex=True)

  1. График температуры

axes[0].plot(df['Время'], df['Температура, °C'], color='red', linewidth=1) axes[0].set_title(f'Температура в {CITY_NAME} за последние 7 дней') axes[0].set_ylabel('Температура, °C') axes[0].grid(True)

  1. График осадков

axes[1].bar(df['Время'], df['Осадки, мм'], color='blue', alpha=0.7, width=0.04) axes[1].set_title('Осадки') axes[1].set_ylabel('Осадки, мм') axes[1].grid(True)

  1. График скорости ветра

axes[2].plot(df['Время'], df['Скорость ветра, м/с'], color='green', linewidth=1) axes[2].set_title('Скорость ветра') axes[2].set_ylabel('Скорость ветра, м/с') axes[2].set_xlabel('Дата и время') axes[2].grid(True)

plt.tight_layout() plt.show()|виджете iframe import requests import pandas as pd import matplotlib.pyplot as plt from datetime import datetime, timedelta

  1. Координаты города (например, Москва)

LATITUDE = 55.7558 LONGITUDE = 37.6173 CITY_NAME = "Москва"

  1. Даты: последние 7 дней

end_date = datetime.now().date() start_date = end_date - timedelta(days=7)

  1. URL для запроса к Open‑Meteo

URL = (

   f"https://api.open-meteo.com/v1/forecast?"
   f"latitude={LATITUDE}&longitude={LONGITUDE}&"
   f"start_date={start_date}&end_date={end_date}&"
   f"hourly=temperature_2m,precipitation,wind_speed_10m&"
   f"timezone=Europe/Moscow"

) response = requests.get(URL) data = response.json()

  1. Извлекаем временные метки и параметры

timestamps = data['hourly']['time'] temperatures = data['hourly']['temperature_2m'] precipitations = data['hourly']['precipitation'] wind_speeds = data['hourly']['wind_speed_10m']

  1. Создаём DataFrame

df = pd.DataFrame({

   'Время': timestamps,
   'Температура, °C': temperatures,
   'Осадки, мм': precipitations,
   'Скорость ветра, м/с': wind_speeds

})

  1. Преобразуем столбец 'Время' в datetime

df['Время'] = pd.to_datetime(df['Время']) df.to_csv('weather_data_openmeteo.csv', index=False, encoding='utf-8') print("Данные сохранены в weather_data_openmeteo.csv")

  1. Создаём фигуру с тремя подграфиками

fig, axes = plt.subplots(3, 1, figsize=(14, 10), sharex=True)

  1. График температуры

axes[0].plot(df['Время'], df['Температура, °C'], color='red', linewidth=1) axes[0].set_title(f'Температура в {CITY_NAME} за последние 7 дней') axes[0].set_ylabel('Температура, °C') axes[0].grid(True)

  1. График осадков

axes[1].bar(df['Время'], df['Осадки, мм'], color='blue', alpha=0.7, width=0.04) axes[1].set_title('Осадки') axes[1].set_ylabel('Осадки, мм') axes[1].grid(True)

  1. График скорости ветра

axes[2].plot(df['Время'], df['Скорость ветра, м/с'], color='green', linewidth=1) axes[2].set_title('Скорость ветра') axes[2].set_ylabel('Скорость ветра, м/с') axes[2].set_xlabel('Дата и время') axes[2].grid(True)

plt.tight_layout() plt.show()]]: Unable to load template 'wiki:iframe import requests import pandas as pd import matplotlib.pyplot as plt from datetime import datetime, timedelta

  1. Координаты города (например, Москва)

LATITUDE = 55.7558 LONGITUDE = 37.6173 CITY_NAME = "Москва"

  1. Даты: последние 7 дней

end_date = datetime.now().date() start_date = end_date - timedelta(days=7)

  1. URL для запроса к Open‑Meteo

URL = (

   f"https://api.open-meteo.com/v1/forecast?"
   f"latitude={LATITUDE}&longitude={LONGITUDE}&"
   f"start_date={start_date}&end_date={end_date}&"
   f"hourly=temperature_2m,precipitation,wind_speed_10m&"
   f"timezone=Europe/Moscow"

) response = requests.get(URL) data = response.json()

  1. Извлекаем временные метки и параметры

timestamps = data['hourly']['time'] temperatures = data['hourly']['temperature_2m'] precipitations = data['hourly']['precipitation'] wind_speeds = data['hourly']['wind_speed_10m']

  1. Создаём DataFrame

df = pd.DataFrame({

   'Время': timestamps,
   'Температура, °C': temperatures,
   'Осадки, мм': precipitations,
   'Скорость ветра, м/с': wind_speeds

})

  1. Преобразуем столбец 'Время' в datetime

df['Время'] = pd.to_datetime(df['Время']) df.to_csv('weather_data_openmeteo.csv', index=False, encoding='utf-8') print("Данные сохранены в weather_data_openmeteo.csv")

  1. Создаём фигуру с тремя подграфиками

fig, axes = plt.subplots(3, 1, figsize=(14, 10), sharex=True)

  1. График температуры

axes[0].plot(df['Время'], df['Температура, °C'], color='red', linewidth=1) axes[0].set_title(f'Температура в {CITY_NAME} за последние 7 дней') axes[0].set_ylabel('Температура, °C') axes[0].grid(True)

  1. График осадков

axes[1].bar(df['Время'], df['Осадки, мм'], color='blue', alpha=0.7, width=0.04) axes[1].set_title('Осадки') axes[1].set_ylabel('Осадки, мм') axes[1].grid(True)

  1. График скорости ветра

axes[2].plot(df['Время'], df['Скорость ветра, м/с'], color='green', linewidth=1) axes[2].set_title('Скорость ветра') axes[2].set_ylabel('Скорость ветра, м/с') axes[2].set_xlabel('Дата и время') axes[2].grid(True)

plt.tight_layout()

plt.show()'