Вам нужно:
df = pd.DataFrame({'id':[1,2,3,4,5,6,7,8,9,10,11,12],
'level':['low','high','low','medium','medium','high','low','high','medium','high','medium','low'],
'values':[23,43,56,12,34,32,18,109,345,21,15,45]})
# use nlargest(10) for your problem.
print(df.groupby('level')['values'].nlargest(2))
Вывод:
level
high 7 109
1 43
low 2 56
11 45
medium 8 345
4 34
У меня появилась блестящая идея покопаться в Reflector, чтобы увидеть, где используется свойство Focusable, и нашел свой путь к этому решению. Мне просто нужно добавить следующий код в конструктор моего окна:
Loaded += (sender, e) =>
MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
Это автоматически выберет первый элемент управления в порядке вкладок, так что это общее решение, которое должно быть в состоянии быть добавлено в любое окно и просто работать.
Я нашел другое возможное решение. Марк Смит опубликовал расширение разметки FirstFocusedElement для использования с FocusManager.FocusedElement.
<UserControl x:Class="FocusTest.Page2"
xmlns:FocusTest="clr-namespace:FocusTest"
FocusManager.FocusedElement="{FocusTest:FirstFocusedElement}">
Это тоже работает:
<Window FocusManager.FocusedElement="{Binding ElementName=SomeElement}">
<DataGrid x:Name="SomeElement">
...
</DataGrid>
</Window>