Мне нужно добавить строки сериализованного подкласса BaseModel и отобразить их в потоковом режиме. Проблема в том, что некоторые поля являются необязательными и иногда отсутствуют. При их отсутствии тип столбца инициализированной таблицы будет отличаться. Я попробовал несколько способов предварительного указания типов столбцов:
установив их в pandas.DataFrame, который используется для инициализацииstreamlit.dataframe
установив Column_config
Похоже, ничего из этого не работает (см. код ниже). Любые советы приветствуются
Код установки
st.session_state['df_reports'] = st_from_base_model(MyModel)
examples = [MyModel(**{"first":x, "second":chr(ord(x)+5) if ord(x)%2==0 else None}) for x in "hello world!"]
st.session_state['df_reports'] = st_from_base_model(MyModel)
for ex in examples:
df_ = format_metadata([ex])
st.session_state['df_reports'].add_rows(df_)
# time.sleep(5)
Unsupported operation. The data passed into add_rows() must have the same data signature as the original data.
In this case, add_rows() received ["unicode","unicode","unicode","unicode","unicode","unicode","unicode","unicode","unicode","unicode","datetime","unicode"]
but was expecting ["empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","datetime","empty"].
elementType 'alert' is not a valid arrowAddRows target!
в зависимости от входных данных.
Я пытаюсь понять, как данные представлены в потоке данных и где я могу увидеть текущие типы данных ( код кажется довольно неясным).
Мне нужно добавить строки сериализованного подкласса BaseModel и отобразить их в потоковом режиме. Проблема в том, что некоторые поля являются необязательными и иногда отсутствуют. При их отсутствии тип столбца инициализированной таблицы будет отличаться. Я попробовал несколько способов предварительного указания типов столбцов: [list] [*]установив их в pandas.DataFrame, который используется для инициализацииstreamlit.dataframe установив Column_config [/list] Похоже, ничего из этого не работает (см. код ниже). Любые советы приветствуются Код установки [code]import pandas as pd import numpy as np from pydantic import BaseModel import streamlit as st from functools import partial from typing import Optional
class MyModel(BaseModel): first: str second: Optional[str] date: datetime.datetime = datetime.datetime.today()
for ex in examples: df_ = format_metadata([ex]) st.session_state['df_reports'].add_rows(df_) # time.sleep(5) [/code] Я все еще получаю: [code]Unsupported operation. The data passed into add_rows() must have the same data signature as the original data.
In this case, add_rows() received ["unicode","unicode","unicode","unicode","unicode","unicode","unicode","unicode","unicode","unicode","datetime","unicode"] but was expecting ["empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","datetime","empty"]. [/code] или [code]elementType 'alert' is not a valid arrowAddRows target! [/code] в зависимости от входных данных. Я пытаюсь понять, как данные представлены в потоке данных и где я могу увидеть текущие типы данных ( код кажется довольно неясным).
Мне нужно добавить строки сериализованного подкласса BaseModel и отобразить их в потоковом режиме. Проблема в том, что некоторые поля являются необязательными и иногда отсутствуют. Я попробовал несколько способов предварительного указания типов...
Я пытаюсь создать панель мониторинга с несколькими вкладками. Все вкладки имеют общий код, а также специальный код для создания вкладки. Я пробовал использовать настоящие вкладки, но при этом всегда выполняется весь код всех вкладок. Так, например,...
Я хотел бы провести оценку модели с помощью LangSmith. Я создал небольшое приложение на основе руководства ( Все работает нормально, пока не используются переменные с потоковым освещением. Вот шаги, которые я выполнил: