我有一个数据框,其中一些值位于两个不同的列中
Ligand_hit,Ligand_miss
M00001,M00005
M00002,M00001
M00003,M00007
M00004,M00003
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,其中包含不在“Ligand_hit”中的“Ligand_miss”中的所有值。所需的输出类似于:
Ligand_hit,Ligand_miss,Unique
M00001,M00005,M00005
M00002,M00001,M00007
M00003,M00007,NaN
M00004,M00003,NaN
Run Code Online (Sandbox Code Playgroud)
我尝试使用“pandas.isin”,但它只输出布尔值。有没有一种简单的方法可以获得所需的结果?
一个直接的熊猫解决方案可以是这个:
df["Unique"] = df["Ligand_miss"][~df["Ligand_miss"].isin(df["Ligand_hit"])].drop_duplicates()
Ligand_hit Ligand_miss Unique
0 M00001 M00005 M00005
1 M00002 M00001 NaN
2 M00003 M00007 M00007
3 M00004 M00003 NaN
Run Code Online (Sandbox Code Playgroud)
这为唯一值提供索引查找。
归档时间: |
|
查看次数: |
6811 次 |
最近记录: |