Я хотел бы знать, есть ли другой лучший способ использования df_filtered_dates = df.loc[start_date:end_date] или этот способ хорош, я использую для фильтрации дат между датами, которые я выбираю из внешнего интерфейса с помощью Flatpickr
@reactive.calc
def filtered_data():
sensors = input.sensores_check()
start_date_str = input.inicio()
end_date_str = input.fin()
if not sensors or not start_date_str or not end_date_str:
return pd.DataFrame(columns=['timestamp', 'sensor', 'temperatura'])
try:
formato_fecha = "%d-%m-%Y %H:%M"
start_date = pd.to_datetime(start_date_str, format=formato_fecha)
end_date = pd.to_datetime(end_date_str, format=formato_fecha)
df_filtered_dates = df.loc[start_date:end_date]
df_filtrado_sensores = df_filtered_dates[list(sensors)]
df_parse = df_filtrado_sensores.reset_index().melt(
id_vars='timestamp',
value_vars=sensors,
var_name='sensor',
value_name='temperatura'
)
print("Datos en formato melted para mostrar")
print(df_parse.head(9))
return df_parse
except Exception as e:
return pd.DataFrame(columns=['timestamp', 'sensor', 'temperatura'])
Fecha,Hora,Bomba Calor - Temperatura de Aire (°C),Bomba Calor - Temperatura Entrada (°C),Bomba Calor - Temperatura Salida (°C),Bomba Calor - Estado Caldera 2 (estado),Bomba Calor - Estado Caldera 1 (estado),Bomba Calor - Estado Bomba de Calor (estado)
04-10-25,00:01,22.2,63.4,63.4,0.0,0.0,0.0
04-10-25,00:11,21.9,61.8,61.7,0.0,0.0,0.0
04-10-25,00:21,21.7,60.3,60.3,0.0,0.0,0.0
with ui.card(style="margin-bottom: 20px;"):
ui.h5("Seleccione un rango de Fecha y Hora", style="text-align: center;")
with ui.tags.div(class_="input-container"):
with ui.tags.div(class_="input-group"):
ui.tags.label("Desde:", _for="inicio")
ui.tags.input(id="inicio", type="text", class_="flatpickr coqueto")
with ui.tags.div(class_="input-group"):
ui.tags.label("Hasta:", _for="fin")
ui.tags.input(id="fin", type="text", class_="flatpickr coqueto")
Подробнее здесь: https://stackoverflow.com/questions/798 ... and-df-loc
Использование плавления в df от длинного до широкого и df.loc ⇐ Python
Программы на Python
-
Anonymous
1763057208
Anonymous
Я хотел бы знать, есть ли другой лучший способ использования df_filtered_dates = df.loc[start_date:end_date] или этот способ хорош, я использую для фильтрации дат между датами, которые я выбираю из внешнего интерфейса с помощью Flatpickr
@reactive.calc
def filtered_data():
sensors = input.sensores_check()
start_date_str = input.inicio()
end_date_str = input.fin()
if not sensors or not start_date_str or not end_date_str:
return pd.DataFrame(columns=['timestamp', 'sensor', 'temperatura'])
try:
formato_fecha = "%d-%m-%Y %H:%M"
start_date = pd.to_datetime(start_date_str, format=formato_fecha)
end_date = pd.to_datetime(end_date_str, format=formato_fecha)
df_filtered_dates = df.loc[start_date:end_date]
df_filtrado_sensores = df_filtered_dates[list(sensors)]
df_parse = df_filtrado_sensores.reset_index().melt(
id_vars='timestamp',
value_vars=sensors,
var_name='sensor',
value_name='temperatura'
)
print("Datos en formato melted para mostrar")
print(df_parse.head(9))
return df_parse
except Exception as e:
return pd.DataFrame(columns=['timestamp', 'sensor', 'temperatura'])
Fecha,Hora,Bomba Calor - Temperatura de Aire (°C),Bomba Calor - Temperatura Entrada (°C),Bomba Calor - Temperatura Salida (°C),Bomba Calor - Estado Caldera 2 (estado),Bomba Calor - Estado Caldera 1 (estado),Bomba Calor - Estado Bomba de Calor (estado)
04-10-25,00:01,22.2,63.4,63.4,0.0,0.0,0.0
04-10-25,00:11,21.9,61.8,61.7,0.0,0.0,0.0
04-10-25,00:21,21.7,60.3,60.3,0.0,0.0,0.0
with ui.card(style="margin-bottom: 20px;"):
ui.h5("Seleccione un rango de Fecha y Hora", style="text-align: center;")
with ui.tags.div(class_="input-container"):
with ui.tags.div(class_="input-group"):
ui.tags.label("Desde:", _for="inicio")
ui.tags.input(id="inicio", type="text", class_="flatpickr coqueto")
with ui.tags.div(class_="input-group"):
ui.tags.label("Hasta:", _for="fin")
ui.tags.input(id="fin", type="text", class_="flatpickr coqueto")
Подробнее здесь: [url]https://stackoverflow.com/questions/79819252/use-of-melt-into-a-df-for-long-to-wide-and-df-loc[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия