Шаг 1. Создайте фрейм данных, в котором хранится счет каждого ненулевого класса в столбцах count
count_df = df.groupby(['Symbol','Year']).size().reset_index(name='counts')
. Шаг 2: Теперь используйте pivot_table для получения нужного кадра данных с подсчетом как для существующих, так и для несуществующие классы.
df_final = pd.pivot_table(count_df,
index=['Symbol','Year'],
values='counts',
fill_value = 0,
dropna=False,
aggfunc=np.sum)
Теперь значения счетчиков можно извлечь как список с помощью команды
list(df_final['counts'])
Если шаблон определяется в Вашем разделе <Window. Resources> непосредственно:
myTreeViewControl.ItemTemplate = this.Resources["SomeTemplate"] as DataTemplate;
Если это где-нибудь глубоко в Вашем окне, как в разделе <Grid. Resources> или чем-то, я думаю, что это будет работать:
myTreeViewControl.ItemTemplate = this.FindResource("SomeTemplate") as DataTemplate;
И если это находится в другом месте в Вашем приложении, я думаю Приложение. FindResource ("SomeTemplate") будет работать.
если Ваше управление treeview требует различных шаблонов для Ваших объектов, необходимо реализовать класс DataTemplateSelector и установить, это - экземпляр к структурному виду. насколько я помню, что существует свойство DataTemplateSelector.