#bokeh
Вопрос:
Я пытаюсь отобразить словарь с вложенными словарями внутри. И в ячейках с вложенным словарем, boke datatable отображает это как [объект объекта].
До сих пор я распаковывал словари вручную, чтобы отобразить фактические данные, однако мне было интересно, есть ли лучший способ сделать это? возможно, какой-то форматер в базе данных?
Я открыт для предложений.
Ответ №1:
Вы могли бы попробовать выполнить некоторые манипуляции с данными с Пандами, прежде чем использовать Боке
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import TableColumn, DataTable
from bokeh.io import output_file, show
import pandas as pd
nested_dictionary = {"user1": {'name': 'John', 'age': '27', 'sex': 'Male'},
"user2": {'name': 'Marie', 'age': '22', 'sex': 'Female'},
"user3": {'name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'}}
df = pd.DataFrame.from_dict(nested_dictionary, orient='index')
print (df.head())
source = ColumnDataSource(df)
# Dataframe -> DataTable
table_columns = [TableColumn(field=name, title=name)for name in df.columns]
data_table = DataTable(source=source, columns=table_columns, width=580, height=280)
# Specify the name of the output file and show the result
output_file('example_so.html')
show(data_table)
Если ваши данные поступают из файла JSON, проверьте json_normalize() из pandas.io.json