Вы можете установить соответствующий индекс, а затем unstack
:
df
type x1 x2 x3
0 A 4 6 9
1 A 7 4 1
2 A 9 6 2
3 B 1 3 8
4 B 2 7 9
res = (df.set_index(['type', df.groupby('type').cumcount()])
.unstack()
.sort_index(level=-1, axis=1))
res.columns = res.columns.map(lambda x: x[0] + "'" * int(x[1]))
res
x1 x2 x3 x1' x2' x3' x1'' x2'' x3''
type
A 4.0 6.0 9.0 7.0 4.0 1.0 9.0 6.0 2.0
B 1.0 3.0 8.0 2.0 7.0 9.0 NaN NaN NaN
Никогда не смотрите, что это происходит в XP, только Vista и 7
Возможно, это - ошибка в Vista...?
Что происходит, если Вы называете SetForegroundWindow () (или эквивалентный в .NET)?
Править
Я действительно, конечно, имел в виду "BringWindowToTop ()".
Или сделайте обоих.
Ну, одно решение состоит в том, чтобы использовать взлом как это. Это действительно не, для чего это.
Обычно решение о том, будет ли окно в панели задач или не основано на стилях границ, которые это использует. Статья, с которой я связался, предоставляет немного больше детали. Комментарий статьи об окне, имеющем владельца или нет, довольно возможен очень относящийся к Вашей проблеме, так как окно могло бы так или иначе получать другого владельца при запуске установщиком.
Та статья находится в VB, но это является все базирующимся вокруг вызовов API так информация, которую это обеспечивает, довольно независимо от языка.
Обычная причина этого заключается в том, что главное окно приложения не имеет стилей окна, которые позволяли бы Windows знать, что это главное окно приложения (а не окно инструмента или диалоговое окно). Поэтому Windows приходится угадывать, основываясь на том, как приложение было запущено и т.д.
Используйте Spy++, чтобы жаловаться на стили окон (особенно расширенные стили), если у вашего окна есть окно, которое не имеет такой проблемы. Вы пропустили стиль WS_EX_APPWINDOW
? Отличаются ли другие стили/расширенные стили от других окон верхнего уровня?
У нас была та же проблема, и мы исправили ее, установив свойство showintaskbar свойства формы в значение true.
Странно, что все ОС Windows не запускают приложения одинаково!