У меня есть следующий фрейм данных, который я назову 'names':
date name code
6/1/2018 A 5
6/1/2018 B 5
7/1/2018 A 5
7/1/2018 B 5
У меня есть следующий df, который мне нужно изменить:
date name comment
5/1/2018 A 'Good'
6/1/2018 A 'Good'
6/1/2018 B 'Good'
6/1/2018 C 'Good'
7/1/2018 A 'Good'
7/1/2018 B 'Good'
Мне нужно изменитькомментарий к «Плохо», если имя отсутствует в кадре данных имен на эту дату
Сейчас у меня есть:
df['comment'] = np.where(~df['name'].isin(names['name']), 'Bad', df['comment'])
Хотя, очевидно, это не так 'не работает, потому что не принимает во внимание имя и дату.
Окончательный вывод:
date name comment
5/1/2018 A 'Bad'
6/1/2018 A 'Good'
6/1/2018 B 'Good'
6/1/2018 C 'Bad'
7/1/2018 A 'Good'
7/1/2018 B 'Good'
Первая строка была изменена, поскольку в кадре имен отсутствует запись A для 5/1.Строка C была изменена, поскольку в именах df нет записи C для 6/1 (точнее, вообще нет записи C).
Примечание. Оба кадра данных (имена и df) больше, чем я показал, как по строкам, так и по столбцам.