Выполните итерацию по циклу, чтобы получить значение cumsum для переменной dataframe для каждой отдельной переменной даты (Not Aggregation) - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь написать простой код, в котором у меня есть единицы измерения, произведенные в фреймах данных «Выход» и «Дата», в которые они были созданы. Несколько записей присутствуют на одну и ту же дату. Я собираюсь использовать функцию numy cumsum, чтобы получить итоговую сумму для каждой строки, а затем вычесть значение для текущей строки. Я не хочу делать агрегирование для даты, так как мне нужны исходные необработанные записи.

Я могу сделать это для одного набора дат, создав переменную .loc для каждой даты, а затем применить функцию. Но не могу понять, как сделать это итеративно.

data_43102 = data['Yield_Done','PDate'].loc[data['PDate'] ==43102]
#gives me Yield Done for only 43102

data_43102['Running_total']=  cumsum(data_43102['Yield_Done']) #gives me cumulative total 

data_43102['Running_total'] = data_43102['Running_total'] - data_43102['Yield_Done']

Когда я ожидаю, что после запуска кода будет выводиться код, как в случае с тем, который у меня был

1 Ответ

0 голосов
/ 01 мая 2019

Вы можете сохранить все даты в списке, а затем использовать isin для фильтрации данных по всем датам:

dates = ['43102', '23102', '43102'...]

data_filtered_by_date = data['Yield_Done','PDate'].loc[data['PDate'].isin(dates)]

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...