LigandName Score
0 _017_model1/_017_model1 -10.54
1 _010_model1/_010_model1 -9.49
2 _113_model1/_113_model1 -9.40
3 _009_model1/_009_model1 -9.37
4 _193_model1/_193_model1 -9.36
这是数据框的前几行。我想添加一个称为IsActive的新列,该列基于该文件中LigandName的存在。这是文件
0 _017_model1/_017_model1
1 _010_model1/_010_model1
2 _113_model1/_113_model1
3 _009_model1/_009_model1
4 _004_model1/_004_model1
如果存在LigandName,则IsActive条目应为1,否则为0。我该怎么办?
答案 0 :(得分:1)
通过Series.isin
创建布尔型掩码并将其转换为整数-True
是1
,而False
是0
:
print (df1)
LigandName
0 _017_model1/_017_model1
1 _010_model1/_010_model1
2 _113_model1/_113_model1
3 _009_model1/_009_model1
4 _004_model1/_004_model1
df['IsActive'] = df['LigandName'].isin(df1['LigandName']).astype(int)
print (df)
LigandName Score IsActive
0 _017_model1/_017_model1 -10.54 1
1 _010_model1/_010_model1 -9.49 1
2 _113_model1/_113_model1 -9.40 1
3 _009_model1/_009_model1 -9.37 1
4 _193_model1/_193_model1 -9.36 0