У меня есть датафрейм с 5 столбцами, который выглядит следующим образом:
ID date account_no service_name amount
0 0 2019-09-01 123456789012 AWS CloudTrail 0.00
Данные доступны с 1 сентября по 14 октября. Не может поделиться из-за соображений безопасности:)
Я хотел бы сравнить 2 даты (21 сентября и 10 октября) и найти разницу.
Следующий код работает, как и ожидалось. Но я хотел бы знать, есть ли лучший способ.
x = df[df.date == "2019-09-21"]
x = x[x.columns[3:]]
x.columns = ["service_name", "2019-09-21"]
y = df[df.date == "2019-10-10"]
y = y[y.columns[3:]]
y.columns = ["service_name", "2019-10-10"]
ndf = x.merge(y, on="service_name")
ndf["diff"] = ndf["2019-09-21"] - ndf["2019-10-10"]
service_name 2019-09-21 2019-10-10 diff
6 EC2 - Other 2.75 2.39 0.36
7 Amazon Elastic Compute Cloud - Compute 0.16 2.54 -2.38
Я пытаюсь найти решение, подобное pivot_table, где я могу получить отчет о еженедельной разнице, месячной разнице и т. Д.