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, если она не была. Что я должен делать?
Создать Series.isin
маску с помощью Series.isin
и 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
df1 = pd.read_csv(file, names=['LigandName'])
?