Эта ошибка в основном возникла, когда SQL-служба остановлена. Вам нужно перезапустить службу. Чтобы перейти в это окно, вам необходимо выполнить поиск таких сервисов, как this-
Затем Найдите SQLSERVER (MSSQLSERVER) и перезапустите службу.
Надеюсь, что это сработает.
Если я правильно понимаю, вам нужен каждый порядок сортировки каждый раз, когда вы достигаете максимума на col1
.
df.groupby(['col0'], as_index=False)['col1'].max()
df
, как вы сделали df
: pd.merge(df, col1_max_groups)
DataFrame
новыми значениями Полный пример :
col1_max_groups = df.groupby(['col0'], as_index=False)['col1'].max()
deduped = df.sort_values(['col0', 'col1', 'abs(col1 - col2)', 'col2'],
ascending=[True, True, True, False]) \
.drop_duplicates(['col0', 'col1']) \
.set_index(['col0', 'col1'])
update = pd.merge(df, col1_max_groups) \
.sort_values(['col0', 'col1', 'abs(col1 - col2)', 'col2'],
ascending=[True, True, False, False]) \
.drop_duplicates(['col0', 'col1'])
deduped.update(update.set_index(['col0', 'col1']))
deduped.reset_index()
# returns
# col0 col1 col2 abs(col1 - col2)
# A 1 2 1
# A 2 3 1
# A 3 4 1
# A 4 1 3
# B 2 3 1
# B 3 4 1
# B 4 5 1
# B 5 2 3