Хранение JSON в msSQL базе данных?

Одним из решений является сортировка, а затем удаление дубликатов после операции groupby:

df = pd.DataFrame({'Brand': ['B1'] * 5 + ['B2'] * 5,
                   'Model': ['M1', 'M2', 'M1', 'M2', 'M3',
                             'N1', 'N1', 'N2', 'N3', 'N1']})

df['Count'] = df.groupby(['Brand', 'Model'])['Model'].transform('count')

res = df.sort_values('Count', ascending=False)\
        .drop_duplicates('Brand')

print(res)

#   Brand Model  Count
# 5    B2    N1      3
# 0    B1    M1      2

Обратите внимание, что при этом удаляются дубликаты групповых верхних отсчетов.

23
задан JKirchartz 20 July 2012 в 13:34
поделиться

4 ответа

Отличный способ создать объектную базу данных с сервера SQL. Я делаю это для всех объектов конфигурации и всего остального, которое не требует каких-либо особых запросов. Расширение вашего объекта - легко, просто создайте новое свойство в вашем классе и инициализируйте со значением по умолчанию. Вам больше не нужна недвижимость? Просто удалите его в классе. Легко выкатить, легко обновить. Подходит не для всех объектов, но если вы извлекаете какую-либо подпорку, на которую нужно индексировать - продолжайте использовать ее. Очень современный способ использования сервера sql.

7
ответ дан 29 November 2019 в 01:43
поделиться

Мы использовали модифицированную версию XML именно для той цели, которую вы описываете в течение семи или восьми лет, и она прекрасно работает. Формы потребностей наших клиентов настолько разнообразны, что мы никогда не поспеваем за подходом «таблица / столбец». Мы слишком далеко продвинулись по пути XML, чтобы измениться очень легко, но я думаю, что JSON также сработает и, возможно, станет лучше.

Отчетность не является проблемой с парой хороших функций синтаксического анализа, и я бы никому не понравился, чтобы найти существенную разницу в производительности между нашими отчетами / аналитикой и таблицей / столбцом решения этой потребности.

3
ответ дан 29 November 2019 в 01:43
поделиться

Я бы не рекомендовал это.

Если вы когда-нибудь захотите сделать какие-либо отчеты или запросы на основе этих значений в будущем, это сделает вашу жизнь намного сложнее, чем наличие нескольких дополнительных таблиц / столбцов.

Почему вы избегаете создавать новые столы? Я говорю, если ваше приложение требует, чтобы они продолжали и добавляли их ... Также, если кто-то должен будет просмотреть ваш код / ​​db позже, им, вероятно, будет сложнее выяснить, что вы делаете (в зависимости от того, какого рода документация у вас есть).

1
ответ дан 29 November 2019 в 01:43
поделиться

Это будет медленнее, чем форма, определенная в коде, но один лишний запрос не должен причинить вам большого вреда. (Только не позволяйте 1 дополнительному запросу превратиться в 10 дополнительных запросов!)

Изменить: если вы выбираете строку с помощью formTitle вместо pKey (я бы сделал это, потому что тогда ваш код будет более читабельным), поместите индекс на formTitle

3
ответ дан 29 November 2019 в 01:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: