У меня есть следующий фрейм данных
df1 = DataFrame([['OBJ1', 10, 'BX', 'pool1', 'OBJ2'],['OBJ2', 0, '', '', 'OBJ1'],['OBJ3', 10, 'BY', 'pool2', 'OBJ4'],['OBJ4', 0, '', '', 'OBJ3'],['OBJ5', 10, 'BZ', 'pool3', '']], columns=['OBJ', 'value', 'conf', 'Res', 'Key'])
Я пытаюсь сделать следующее:
- проверить, когда значение равно 0
- Conf и Res принимают значение строки с ключом, соответствующим OBJ
- , например, значение OBJ2 равно 0, а ключ равен OBJ 2, затем conf должен стать BX, а Res - pool1
Я пробовал несколько решений, используя поиск или другие сообщения, но ничего не помогло.
df1.loc[df1['value']==0, 'conf'] = df1.loc[df1['OBJ']==df1['Key']]['conf']
не удалось, так как я понял, что это выглядит для строк с OBJ = ключ