Я пытаюсь извлечь информацию из дубликатов.
data = np.array([[100,1,0, 'GB'],[100,0,1, 'IT'],[101,1,0, 'CN'],[101,0,1, 'CN'],
[102,1,0, 'JP'],[102,0,1, 'CN'],[103,0,1, 'DE'],
[103,0,1, 'DE'],[103,1,0, 'VN'],[103,1,0, 'VN']])
df = pd.DataFrame(data, columns = ['wed_cert_id','spouse_1',
'spouse_2', 'nationality'])
Я бы хотел классифицировать каждую свадьбу как межнациональную или нет , В моем фактическом наборе данных может быть более 2 супругов в браке.
Моя цель - получить фрейм данных, подобный этому:
или тому подобное это:
Я попытался найти способ фильтрации данных, используя .duplicated () и пытаясь отказать .duplicated () с не оператор, но не удалось его решить:
df = df.loc[df.wed_cert_id.duplicated(keep=False) ~df.nationality.duplicated(keep=False), :]
df = df.loc[df.wed_cert_id.duplicated(keep=False) not df.nationality.duplicated(keep=False), :]
Удаление дубликатов отбрасывает слишком много наблюдений. Мой набор данных позволяет> 2 супругам на свадьбу, создавая потенциал для дублирования:
df.drop_duplicates(subset=['wed_cert_id','nationality'], keep=False, inplace=True)
Как мне это сделать?
Большое спасибо теперь