У меня есть группа строк данных в pandas DF, которые содержат несогласованно компенсирующие строковые символы. Для каждого ИД игры (другой столбец) два строковых символа уникальны для этого Идентификатора игры, но не выключаются в предикативном шаблоне. Независимо от того, я пытаюсь написать вспомогательную функцию, которая принимает каждый уникальный идентификатор игры и получает имена двух команд, связанных с ним.Повторяющиеся строки в pandas DF - хотите вернуть список уникальных строк
Например ...
index game_id 0 400827888 1 400827888 2 400827888 3 400827888 4 400827888 ... 555622 400829117 555623 400829117 555624 400829117 555625 400829117
index team 0 ATL 1 DET 2 ATL 3 DET 4 ATL ... 555622 POR 555623 DEN 555624 POR 555625 POR
Вот мой горестный попытка, которая не работает.
def get_teams(df):
for i in df['gameid']:
both_teams = [df['team'].astype(str)]
return(both_teams)
Я хотел бы, чтобы вернуться [ 'ATL', 'DET] для игры ID 400827888 и [' POR», 'DEN'] для игры ID 400829117. Вместо этого он просто возвращается имя команды связанных с каждым индексом.
Спасибо за это. Каков наилучший способ повторить этот второй столбец списков команд? Я инициализировал groupby новой переменной, но не могу вызвать столбец из этой переменной. – BSHuniversity
Защиту get_teams (DF, команда): для game_id в ф.р. [ 'GameID']:. both_teams = df.groupby ('GameID') [ 'команда'] (уникальные) team_games = [] для строки в both_teams : если команда в ряду [1]: team_games.append (game_id) По какой-то причине кажется бесконечным циклом. – BSHuniversity
Извините, вам нужно 'for g в df.groupby ('game_id') ['team']. Unique(): print (g)'? – jezrael