Я написал набор пользовательских функций, предназначенных для печати вычислений, полученных из кадра данных, однако я хочу выполнить эту же цель, но для подмножеств кадра данных, определенных в столбце groupby. В идеале я бы перебирал каждый объект groupby, печатал ключ, передавал значения функциям и выводил результаты по одному.
Вот пример данных:
df.head()
client reg_goal paid_regs spend
0 a 50.0 45.0 955.0
1 b 700.0 550.0 1045.2
2 c 130.0 135.0 630.0
3 d 70.0 0.0 35.0
4 e 1000.0 817.0 27240.0
Вот желаемый пример вывода:
a
client a acquired 45 regs, which is 90% of the reg goal.
b
client a acquired 550 regs, which is 79% of the reg goal.
и так далее ...
Вот пример пользовательская функция:
def reg_performance(data):
paid_regs = data['paid_regs'].values
paid_regs_sum = np.sum(paid_regs)
reg_goal = data['reg_goal'].values
reg_goal_sum = np.sum(reg_goal)
reg_pct = round(100*(paid_regs_sum/reg_goal_sum), 2)
reg_stats = paid_regs, paid_regs_sum, reg_goal, reg_goal_sum, reg_pct
return reg_stats
Вот моя попытка выполнить итерации по групповым объектам и протестировать хотя бы одну пользовательскую функцию путем создания экземпляра функционального объекта при передаче субкадра в качестве параметра.
client_grouped = df.groupby('client')
groups = dict(list(client_grouped))
for k, v in groups.items():
print(k)
reg_performance = reg_performance(v)
Logi c заключается в том, что любая из этих пользовательских функций принимает кадр данных в качестве параметра, поэтому передача объектов итератора в виде подданных не должна быть проблемой, но я продолжаю нажимать TypeError: 'tuple' object is not callable
,
Кто-нибудь знает, как решить эту ошибку TypeError?