pandas dataframe создает новый двоичный столбец активности на основе другого файла, содержащего столбец имен - PullRequest
0 голосов
/ 21 сентября 2018
                  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, если это не так.Что мне делать?

1 Ответ

0 голосов
/ 21 сентября 2018

Создать логическую маску с помощью Series.isin и привести к целым числам - True s 1 и False s 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...