У меня есть фрейм данных со множеством столбцов, представляющих статистику футбольных матчей.
Поскольку я очистил данные, у меня есть две строки на совпадение, и я пытаюсь удалить дубликаты.
Я попробовал выполнить:
df.drop(all_matches[df['HomeTeam'] != df['team']])
чтобы удалить случаи, когда значения в столбцах HomeTeam не соответствуют столбцам команды.
Я получил следующую ошибку:
KeyError: "['date' 'time' 'comp' 'round' 'day' 'venue' 'result'
'HomeTeam' 'AwayTeam'\n 'gf' 'ga' 'opponent' 'poss' 'attendance'
'captain' 'formation' 'referee'\n 'match report' 'notes' 'sh' 'sot'
'pk' 'pkatt' 'venue_vs' 'result_vs'\n 'team_shots_vs'
'team_shots_ot_vs' 'pk_vs' 'pkatt_vs' 'season' 'team'] not found in
axis"
Я не понимаю, почему это не работает и почему после кавычек за некоторыми именами столбцов следует символ новой строки.
вы также можете использовать .drop_duplicates(subset=['column1', 'columns2']






Чтобы удалить дубликаты из DataFrame на основе условия «HomeTeam» соответствует «team» для каждого совпадения, вам необходимо использовать метод drop_duplicates в pandas.
df.drop(all_matches[df['HomeTeam'] != df['team']]) не подходит для этой цели, поскольку он пытается удалить столбцы, которых нет в DataFrame, что также приводит к ошибке KeyError.
Вместо этого вы можете использовать:
df_cleaned = df.drop_duplicates(subset=['team', 'HomeTeam'])
Для получения дополнительной информации о методе drop_duplicates вы можете обратиться к документу:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duulates.html
Можете ли вы поделиться полным кодом - очистка данных? трудно отладить вашу проблему. И что ты здесь пытаешься сделать? ты собираешься сделать
df[df['HomeTeam'] == df['team']]?