Сопоставить значения столбца 2 разных кадров данных, но разной длины - PullRequest
0 голосов
/ 08 октября 2019

CHECK DATASET IMAGE

У меня есть набор данных TOTAL 2, где набор данных1 имеет столбец PATIENTID из примерно 40 записей, а другой набор данных2 имеет такой же PATIENTID из примерно 700 записей

Я хочу проверить, является ли PATIENTID изdataset1 присутствует в dataset2 или нет.

Я пробовал в записной книжке Python Jupyter, хотя он не работает через код Python.

PatientsNotTreated=unique(Datase1.PatientID)[!unique(Dataset1.PatientID) in unique(Dataset2.PatientID)]
PatientsNotTreated

Я получаю ошибку:

PatientsNotTreated=unique(Datase1.PatientID)[!unique(Dataset1.PatientID) in unique(Dataset2.PatientID)]
                                                     ^
    SyntaxError: invalid syntax

Я ожидаю вывод информации о пациенте, которого нет в daTASET2

1 Ответ

1 голос
/ 08 октября 2019

Используйте Series.isin для создания индексации логической переменной с DataFrame.loc . Наконец, используйте Series.unique :

arr_out=Dataset1.loc[~Dataset1['PatientID'].isin(Dataset2['PatientID']),'PatientID'].unique()

arr_in=Dataset1.loc[Dataset1['PatientID'].isin(Dataset2['PatientID']),'PatientID'].unique()

, чтобы отфильтровать набор данных1 в соответствии с использованием пациента:

Dataset1_filtered=Dataset1.loc[~Dataset1['PatientID'].isin(Dataset2['PatientID'])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...