Невозможно объединить фреймы данных в потокеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно объединить фреймы данных в потоке

Сообщение Anonymous »

Я пытаюсь объединить все фреймы данных, начинающиеся со строки user_ в потоке, но получаю ошибку.
пример кода:
import streamlit as st
import pandas as pd

st.set_page_config(page_title="Science",
layout='wide',
initial_sidebar_state="expanded")

# sample dataframes
st.session_state.user_df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
st.session_state.user_df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
st.session_state.df3 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})

# list of dataframes starting with user_
st.session_state.users_list = [name for name in st.session_state if name.startswith('user_')]

st.write(st.session_state.users_list)

# using eval to evaluate string dataframe names
# st.write([eval(st.session_state.name) for st.session_state.name in st.session_state.users_list])

st.session_state.df_final = pd.concat([eval(st.session_state.name) for st.session_state.name
in st.session_state.users_list],
ignore_index=True)

st.table(st.session_state.df_final)

ОБНОВЛЕНИЕ:
Вся эта логика работает без потоковой подсветки, но я получаю ошибку здесь в streamlit, не знаю, что не так. Благодарим за любую помощь!
Эта логика/код без потоковой подсветки работает:
import pandas as pd

user_df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
user_df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})

df3 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})

users_list = ['user_df1','user_df2']

print([eval(name) for name in users_list])

df_final = pd.concat([eval(name) for name in users_list],ignore_index=True)

print('----df_final------')
print(df_final)

выход:
[ A B
0 1 3
1 2 4, A B
0 5 7
1 6 8]
----df_final------
A B
0 1 3
1 2 4
2 5 7
3 6 8
``


Подробнее здесь: https://stackoverflow.com/questions/789 ... -streamlit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»