2 строки в одном столбце, хотите добавить строки к уже существующему значению

#python

#питон

Вопрос:

У меня есть фрейм данных, который содержит голы и голевые передачи для команд в Испании. мои проблемы в том, что некоторые игроки играли за 2 команды в течение сезона, и они представлены строками, содержащими 2 строки. из-за этого python считает, что эти значения представляют новый клуб, но это не так, они перешли из одного клуба (первая строка) в новый клуб (вторая строка).

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

 year country club goals assists  2020 Spain Alaves 35 21 617 2020 Spain Alaves,Athletic Club 0 0 618 2020 Spain Alaves,Granada 0 1 619 2020 Spain Athletic Club 42 31 620 2020 Spain Athletic Club,Real Valladolid 1 0 621 2020 Spain Atletico Madrid 65 53 622 2020 Spain Atletico Madrid,Osasuna 0 5 623 2020 Spain Atletico Madrid,Valencia 0 0 624 2020 Spain Barcelona 80 51 625 2020 Spain Barcelona,Getafe 2 2 626 2020 Spain Cadiz 32 16 627 2020 Spain Cadiz,Valencia 1 0 628 2020 Spain Celta Vigo 55 37 629 2020 Spain Celta Vigo,Real Valladolid 1 3 630 2020 Spain Eibar 25 17 631 2020 Spain Eibar,Sevilla 4 3 632 2020 Spain Elche 33 25 633 2020 Spain Getafe 24 11 634 2020 Spain Getafe,Villarreal 1 1 635 2020 Spain Granada 46 29 636 2020 Spain Levante 46 35 637 2020 Spain Osasuna 36 21 638 2020 Spain Real Betis 50 33 639 2020 Spain Real Madrid 63 52 640 2020 Spain Real Sociedad 56 36 641 2020 Spain Real Sociedad,Sevilla 1 2 642 2020 Spain Real Valladolid 33 20 643 2020 Spain SD Huesca 33 23 644 2020 Spain Sevilla 51 35 645 2020 Spain Valencia 48 35 646 2020 Spain Villarreal 57 33  

Комментарии:

1. Можем ли мы предположить, что вы используете библиотеку Панд?

2. Можете ли вы уточнить, что вы подразумеваете под «как я могу добавить значения второй строки к клубам, которые они на самом деле сейчас представляют, вместо того, чтобы создавать впечатление, что это новый клуб ?» Пожалуйста, обновите свой вопрос примером того, что вы имеете в виду? Например, вы хотите, чтобы была представлена только вторая команда, представлены обе команды, как вы хотите, чтобы цели и игры были разделены?

3. Возможно, оптимизируйте свои фреймы данных и используйте внешние ключи, чтобы убедиться, что у вас будет только одна строка (кстати, не могли бы вы показать фрагмент этого набора данных, содержащий «2 строки»?)

Ответ №1:

Если я понимаю вашу проблему, вы можете удалить первую команду с помощью:

 df['current_club'] = df['club'].apply(lambda s: s.split(',')[-1])  

Это создаст новую колонку только с текущим клубом, в котором играет игрок. Затем вы можете запустить свой анализ (группировка по командам и т.д.), Используя этот новый столбец без двойных команд.