У меня есть следующий фрейм данных
![enter image description here](https://i.stack.imgur.com/wPjeb.png)
df = pd.DataFrame([['1','aa', 'eee', 'text 1', 'text 1'], ['1', 'aa', 'fff', 'text 2'], ['1', 'aa', 'ggg', 'text 3'],
['2','aa', 'eee', 'text 4', 'text 4'], ['2', 'aa', 'fff', 'text 5'], ['2', 'aa', 'ggg', 'text 6'],
['3','bb', 'hhh', 'text 7', 'text 7'], ['3', 'bb', 'jjj', 'text 8'], ['3', 'bb', 'kkk', 'text 9'],
['3', 'bb', 'mmm', 'text 10'], ['4','bb', 'hhh', 'text 11', 'text 11'], ['4', 'bb', 'jjj', 'text 12'],
['4', 'bb', 'kkk', 'text 13'], ['4', 'bb', 'mmm', 'text 14'], ['5','aa', 'eee', 'text 15', 'text 15'],
['5', 'aa', 'fff', 'text 16'], ['5', 'aa', 'ggg', 'text 17']], columns=['foo', 'bar','name_input','string', 'Feature 1'])
Теперь мне нужно добавить новый столбец на основе трех условий, и значение должно быть используется из двух строк.
Следующие условия:
- если bar = aa и name_input = fff и name_input = ggg, то новым значением в столбце должен быть текст 2 + текст 3
В конце я хочу, чтобы мой вывод был следующим:
![enter image description here](https://i.stack.imgur.com/hkh1v.png)
df = pd.DataFrame([['1', 'aa', 'eee', 'text 1', 'text 1', 'text 2 + text 3'], ['1', 'aa', 'fff', 'text 2'], ['1', 'aa', 'ggg', 'text 3'],
['2', 'aa', 'eee', 'text 4', 'text 4', 'text 5 + text 6'], ['2', 'aa', 'fff', 'text 5'], ['2', 'aa', 'ggg', 'text 6'],
['3', 'bb', 'hhh', 'text 7', 'text 7', 'text 8 + text 9'], ['3', 'bb', 'jjj', 'text 8'], ['3', 'bb', 'kkk', 'text 9'],
['3', 'bb', 'mmm', 'text 10'], ['4', 'bb', 'hhh', 'text 11', 'text 11', 'text 12 + text 13'], ['4', 'bb', 'jjj', 'text 12'],
['4', 'bb', 'kkk', 'text 13'], ['4', 'bb', 'mmm', 'text 14'], ['5','aa', 'eee', 'text 15', 'text 15', 'text 16 + text 17'],
['5', 'aa', 'fff', 'text 16'], ['5', 'aa', 'ggg', 'text 17']], columns=['foo', 'bar', 'name_input', 'string', 'Feature 1', 'Feature 2'])
Я пытался использовать ниже:
df_merge1.loc[(df_merge1['bar'] == 'aa') & (df_merge1['name_input'] == 'fff') & (df_merge1['name_input'] == 'ggg'), 'Feature 2'] = df_merge1['string'].values[1] + df_merge1['string'].values[2]
Однако я не могу заполнить значения из строкового столбца в новый столбец. Похоже, я что-то упустил.
Любая помощь очень ценится!