Используйте sort_values
с параметром по умолчанию na_position='last'
, поэтому следует пропустить, а затем drop_duplicates
:
print (df)
Name Unit Year Level
0 Nik 1 NaN 12
1 Nik 1 2000.0 12
2 John 2 2001.0 11
3 John 2 2001.0 11
4 Stacy 1 NaN 8
5 Stacy 1 1999.0 8
subset = ['Name', 'Unit', 'Level']
df = df.sort_values('Year').drop_duplicates(subset)
Или: [1113 ]
df = df.sort_values(subset + ['Year']).drop_duplicates(subset)
print (df)
Name Unit Year Level
5 Stacy 1 1999.0 8
1 Nik 1 2000.0 12
2 John 2 2001.0 11
Другое решение с GroupBy.first
для возврата первого не пропущенного значения Year
для групп:
df = df.groupby(subset, as_index=False, sort=False)['Year'].first()
print (df)
Name Unit Level Year
0 Nik 1 12 2000.0
1 John 2 11 2001.0
2 Stacy 1 8 1999.0
Для C# пространства имен, вводимые в web.config, будут распознаны в .aspx файлах, но не codebehind. Я не думаю, что это займет у Вас много времени для корректировки (Ctrl-. позволит Вам быстро добавить пространство имен при вводе имени класса, которому не сослались на пространство имен).
Эта способность только для VB.NET, проект C# не поддерживает ее:/. Но, можно создать шаблон для нового файла исходного кода (Шаблоны Мастера C# в Visual Studio.NET, Как К: Отредактируйте Шаблоны Visual Studio), и измените пространства имен по умолчанию, как Вы желаете.