У меня есть два разных кадра данных, один со всей пользовательской информацией, а другой с записанной информацией от пользователей. Некоторая информация в пользовательском фрейме данных противоречит друг другу, поэтому я хочу удалить этих пользователей из обоих фреймов. Я делаю это для школьного проекта, и они дают подсказку, что я должен использовать a для l oop, но я не могу понять, как использовать это с различными фреймами данных.
В перед этим мне пришлось идентифицировать этих пользователей и поместить их в список:
Проверьте фрейм данных df_users. Вы заметите, что для некоторых пользователей существует более одной строки. Например, некоторые пользователи указали несколько параметров компьютера. Поскольку на данный момент мы не можем спрашивать тех пользователей, какие настройки они фактически использовали, мы отбрасываем этих пользователей и соответствующие испытания.
Укажите, какие пользователи ввели противоречивую информацию, т.е. правую и левую или используют другой компьютер. настройки и назначить их списку неправильных пользователей.
Подсказка: для этих пользователей в фрейме данных будет несколько строк.
#// BEGIN_TODO [ORG_3f] Find the wrong users (1 point)
wrong_users = [df_users[df_users.duplicated(subset='user', keep=False)]['user']]
#// END_TODO [ORG_3f]
wrong_users
, в результате чего
[25905 1598
25920 1598
29006 1017
29019 1017
Name: user, dtype: int64]
Теперь мне нужно удалить этих пользователей как из df_users
, так и из df_trials
фреймов данных.
Отменить строки из df_users и df_trials, соответствующие пользователям, которые ввели противоречащие информация.
Подсказка: используйте a для l oop и удалите строки, соответствующие этим пользователям, одну за другой.
Я уже пробовал несколько разных методов, некоторые из которых я все еще использую, чтобы искать правильный способ выбора правильных строк.
Некоторые из вещей, которые я ' мы пробовали:
df_trials[df_trials['user'] == df_users[df_users.duplicated('user', keep=False)][['user']]]
df_trials[['user']] == df_users[df_users.duplicated('user', keep=False)][['user']]
for n in df_users:
df_trials[df_trials['user'] == df_users[df_users.duplicated('user')]]
df_users.drop_duplicates(subset='user')
for user in df_trials:
df_trials[df_trials['user'] == wrong_users].drop()
Но я думаю, что совершенно ясно, что я не знаю, с чего начать. Если кто-то может мне помочь, я очень ценю это.