Я использую Azure Machine Learning Studio и что нужно добавить промежуточную сумму в мой набор данных.Это включает в себя столбец даты, и я хочу суммировать все строки (для группы) до или перед датой строки.
В SQL Server я бы использовал:
SELECT [t1].*,
SUM([t1].[Amount (Settlement CCY))
OVER (
PARTITION BY [t1].[Contract Ref], [t1].[LOBCode], [t1].[Superline], [t1].[Occupation], [t1].[TransType], [t1].[SettCCY]
ORDER BY [t1].[Transaction Date] ASC
ROWS BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW
)
FROM [t1]
GROUP BY [t1].[contract ref], [t1].[Transaction date], [t1].[LOBCode], [t1].[Superline], [t1].[Occupation], [t1].[TransType], [t1].[SettCCY]
, ноМашинное обучение Azure использует SQLite, где предложения Over / Partition не реализованы.
Я пробовал альтернативу в python / pandas:
dataframe1 = dataframe1.assign(cumAMTscTD=dataframe1.groupby(['ContractRef', 'Basis', 'LOBCode', 'Superline', 'Occupation', 'TransType', 'SettCCY'])['AmtSettCCY'].transform('sum')).sort_values(['ContractRef','TransDate'])
, но это подводит итог всему для группы, а не только те, для даты до текущей строки.Поэтому я предполагаю, что это не распространяется на:
ROWS BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW
Как бы я это достиг?