Я застрял в проблеме, которая, на мой взгляд, не сложна, но я не вижу простого пути ...
У меня есть такой фрейм данных (stats_match) с 11 000 строками:
domicile exterieur season home away
FC Metz Stade Rennais FC 1999 0.0 0.0
Paris Saint-Germain ESTAC Troyes 1999 1.0 0.0
Olympique Lyonnais Montpellier Hérault SC 1999 1.0 2.0
Girondins de Bordeaux SC Bastia 1999 3.0 2.0
RC Strasbourg Alsace RC Lens 1999 1.0 0.0
AS Monaco AS Saint-Etienne 1999 2.0 2.0
Я хотел бы сделать кумулятивную сумму количества голов, забитых командами / сезоном, и только для реальных команд Лиги 1 (потому что я прогнозирую удалить строки без команды из фактического сезона),Фактические команды хранятся в другом фрейме данных (stade) следующим образом:
equipe stade capacity
Angers SCO Stade Raymond Kopa 17048
Nîmes Olympique Stade des Costières 18364
Girondins de Bordeaux Matmut Atlantique 42115
Girondins de Bordeaux Stade Chaban-Delmas 33290
RC Strasbourg Alsace Stade de la Meinau 26109
LOSC Stade Pierre Mauroy 25000
Я попробовал это:
d = defaultdict(list)
for index, row in stats_match.iterrows():
if ((row.domicile in list(stade.equipe)) & (row.exterieur in list(stade.equipe))):
d[row.domicile].append([row.saison,row.but_domicile])
d[row.exterieur].append([row.saison,row.but_exterieur])
elif (row.domicile in list(stade.equipe)):
d[row.domicile].append([row.saison,row.but_domicile])
else:
d[row.exterieur].append([row.saison,row.but_exterieur])
Код работает и дает мне словарь моей команды свсе забитые голы (дома и в гостях).Я не знаю, является ли это самым простым способом, потому что теперь я не знаю, как сделать свою накопительную сумму с условием для сезона с помощью:
- np.add.accumulate ()
- np.cumsum ()
А как правильно добавить его в нужном месте в моем фрейме данных?Я думал добавить индекс в свой словарь во время цикла, это может работать?
Большое спасибо.