Представьте таблицу, в которой первичная информация определяется по дате и имени.Pivot in SQLAlchemy
|Date|Name|Value|
|D1 | A| 2|
|D1 | B| 3|
|D2 | A| 3|
|D2 | C| 1|
Как бы один написать SQLAlchemy запрос дающую пары (дата, значение), где значения являются все значения для всех имен на эту дату? Длина кортежа значений будет len(distinct(Name))
, а отсутствующие значения будут содержать некоторое значение дозорного значения (например, None).
i.e.
[
(D1, 2, 3, None),
(D2, 3, None, 1),
...
]
Я не прошу полного ответа здесь, чтобы заставить меня одобрить. Если вы можете сказать мне, какие понятия искать/читать в документации (или действительно, укажите мне что-нибудь полезное или связанное), я (попробую) сам разобраться и опубликовать обновление. не
[Нет панды решения пожалуйста]
легкий ответ загрузить запрос в длинной форме и сделать поворот в NumPy с использованием numpy.searchsorted, но если представленный ответ использует это, я был бы заинтересован в некоторых для сравнения с простым решением.
Что определяет положение определенного имени в кортеже? То есть почему A в позиции 1, позиции B 2 и т. д.? – codeape
Предпочтительно, чтобы они были упорядочены в соответствии со списком, который я мог бы предоставить (т. Е. Произвольным порядком, насколько нам известно). – frickskit
Ваша проблема похожа на http://stackoverflow.com/questions/2089661 – SGP