Сначала сделайте функцию.
def squeeze_nan(x):
original_columns = x.index.tolist()
squeezed = x.dropna()
squeezed.index = [original_columns[n] for n in range(squeezed.count())]
return squeezed.reindex(original_columns, fill_value=np.nan)
Во-вторых, примените функцию.
df.apply(squeeze_nan, axis=1)
Вы также можете попробовать оси = 0 и. [:: - 1]
[EDIT]
@ Mxracer888 вы хотите это?
def squeeze_nan(x, hold):
if x.name not in hold:
original_columns = x.index.tolist()
squeezed = x.dropna()
squeezed.index = [original_columns[n] for n in range(squeezed.count())]
return squeezed.reindex(original_columns, fill_value=np.nan)
else:
return x
df.apply(lambda x: squeeze_nan(x, ['B']), axis=1)
Я рекомендовал бы Ленточный Предварительный просмотр WPF , так как это - то, которое войдет в следующий выпуск.NET так или иначе.
SandRibbon, лучший из всех при покупке его, обновленные версии являются бесплатными, и автор постоянно обновляет, улучшает & фиксирует (новый выпуск почти еженедельно), и Вы можете связаться с ним непосредственно, очень умным парнем и примете любую обратную связь.
Он делает версию для веб-страниц, Silverlight и Приложений Windows с живые демонстрации доступный.
Я попробовал несколько продуктов, но остановился на реализации DevComponents. Простой использовать и все же очень эффективный. Проверьте пробную версию и образцы, которые они обеспечивают. Цена является также достаточно низкой.
Пожалуйста, взгляните на "Fluent Ribbon Control Suite": http://fluent.codeplex.com
"Fluent Ribbon Control Suite - это библиотека, реализующая Office-подобный (Microsoft® Office Fluent™) пользовательский интерфейс для Windows Presentation Foundation (WPF). Она предоставляет хорошо настроенные элементы управления, такие как RibbonTabControl, Gallery, QuickAccessToolbar, ScreenTip, StatusBar и так далее. Он поставляется в комплекте с самыми современными стилями Office 2010"
.02.08.10 Microsoft выпустила обновленную ленту WPF. Вот ссылка: