У меня есть pandas фрейм данных, который я хочу отфильтровать в соответствии с данными пользователя, введенными в блокнот jupyter.
Данные должны быть введены с помощью ipywidget:
import ipywidgets as widgets
import ipysheet
csv_input =widgets.Text(
value='a,b,c,...',
placeholder='Enter the words',
description='CSV words:',
disabled=False
)
def f(csv):
global cdf
list_of_words=csv.split(',')
for word in list_of_words:
print(word)
#HERE SOMEHOW THE CODE TO GENERATE A DF FROM FILTERING CDF BASED ON IMPUT VALUES
# how do I pass the dataframe to this function?
out = widgets.interactive_output(f, {'csv': csv_input})
This входные данные состоят из значений, разделенных запятыми, и это должно быть основой для фильтрации кадра данных.
Я создал этот фиктивный кадр данных:
list1 = ['computer','ipad','handy','headphones','milk']
list2 = ['bread','milk','ham','chocolate','yogurth','ipad']
list3 = ['table','chair','sofa','glass','plate','bottle','java']
list4 = ['python','java','c++','julia','basic','milk','ham']
data = [list1,list2,list3,list4]
names = ['electro','food','furniture','software']
columns = ['name','data']
cdf=pd.DataFrame(columns=columns)
cdf.data = data
cdf.name = names
cdf
Я ищу способ связать ipywidtext ( текстовая запись) с выводом, который будет являться результатом фильтрации df со словами, введенными пользователем.
ПРИМЕЧАНИЕ. У меня нет проблемы с фильтрацией данных, это связано с связыванием ipywidget с фреймом данных для его фильтрации и вывода из него. результат фильтрации распечатайте с помощью ipysheet. Фильтрация состоит в том, чтобы показать список имен, где появляется любое из слов, введенных пользователем.
РЕДАКТИРОВАННАЯ ИНФОРМАЦИЯ: При использовании interactive_option функция, передаваемая в переменные get, состоит из вывода виджетов, поэтому я не вижу способ передачи также других данных помимо выходных данных виджета, например, как передать кадр данных для дальнейшего заполнения ipysheet.
Документация: https://ipywidgets.readthedocs.io/en/latest/examples/Output%20Widget.html Например, в разделе «Вывод виджетов в качестве Основа для взаимодействия »виджеты связаны с функцией, которая принимает выходные данные ползунков, но я все равно не вижу, чтобы добавить больше входных данных для связанной функции.
Спасибо