python - 匹配 2 个不同数据帧但长度不同的列值
问题描述
我有 TOTAL 2 个数据集,其中 dataset1 具有大约 40 个条目的 PATIENTID 列,另一个 dataset2 具有大约 700 个条目的相同 PATIENTID
我想检查 dataset1 的 PATIENTID 是否存在于 dataset2 中。
我在 Python Jupyter notebook 中尝试过,但它无法通过 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 中不存在的患者 ID
解决方案
使用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()
根据患者使用过滤 dataset1:
Dataset1_filtered=Dataset1.loc[~Dataset1['PatientID'].isin(Dataset2['PatientID'])]
推荐阅读
- batch-file - 如何使用批处理文件更改配置文件 (config.yml) 中的连接字符串?
- javascript - 为什么 connectedCallback 不适用于本机 HTMLElement(不是自定义元素)?
- bash - bash - 在运行其他命令时不运行某些命令?
- python - 你如何在 Tkinter 中制作下拉菜单?
- flutter - How to center a ListView elements in flutter
- python-3.x - Airflow 2.0 - AttributeError:“MyOperator”对象没有属性“kwargs”
- arrays - 获取数组对象vuejs中的数据id
- google-api - 如何使用 google slides api 替换所有超链接?
- plotly - 如何使用带有 go.candlestick 绘图的破折号 plotly extenddata api?
- java - 如何在 Simple Java Socket Server 中发送关闭块?