在R语言中为含全部ID的表添加是否存在于选定ID表的标识列
判断表2中ID是否存在于表1的实现方案
需求:表1包含选定ID列表,表2包含所有可能ID,需为表2新增一列,标识每个ID是否存在于表1中。
示例表
表1
| ID | Another header |
|---|---|
| AB | row |
| EF | row |
| YZ | row |
表2
| ID | Another header |
|---|---|
| AB | row |
| CD | row |
| EF | row |
| GH | row |
| IJ | row |
| ... | row |
| YZ | row |
期望结果
| ID | Another header | 是否存在于表1 |
|---|---|---|
| AB | row | 是 |
| CD | row | 否 |
| EF | row | 是 |
| GH | row | 否 |
| IJ | row | 否 |
| ... | ... | ... |
| YZ | row | 是 |
常用实现方法
1. Excel 操作
在表2的新增列(比如C2单元格)输入以下公式,下拉填充整列即可:=IF(COUNTIF(表1!A:A, A2)>0, "是", "否")
2. SQL 查询
假设表1名为table1,表2名为table2,用左连接实现:
SELECT t2.ID, t2.`Another header`, CASE WHEN t1.ID IS NOT NULL THEN '是' ELSE '否' END AS '是否存在于表1' FROM table2 t2 LEFT JOIN table1 t1 ON t2.ID = t1.ID;
3. Python Pandas 处理
import pandas as pd # 读取数据(根据实际文件格式调整,csv文件用read_csv) df1 = pd.read_excel("表1.xlsx") df2 = pd.read_excel("表2.xlsx") # 标记ID存在性并转换为中文描述 df2['是否存在于表1'] = df2['ID'].isin(df1['ID']).replace({True: '是', False: '否'}) # 查看结果或保存到文件 print(df2) df2.to_excel("结果表.xlsx", index=False)
内容的提问来源于stack exchange,提问作者simon brocard
相关产品推荐
相关产品推荐

