обновить значение col1 на основе условия col2 в pandas - PullRequest
0 голосов
/ 28 февраля 2020

вот мой вопрос.

DF:

  • Col1 | Col2 | col1_updated

  • 10 | mango_orange | 10 * 2

  • 32 | яблоко_Банана | 32 * 3

  • 26 | Лук | 26 * 4


если col2 содержит man go обновить значение col1 * 2, если apple умножить на 3, лук умножить на 4.


Я использовал функцию карты, но это выглядит слишком долго, когда больше случаев. *

Любая помощь будет принята.

1 Ответ

0 голосов
/ 28 февраля 2020

Вы можете сделать это, используя lo c

df.loc[df['col2'].str.contains('apple'), 'col1'] = df['col1'] * 2

ИЛИ np.where

df['col1'] = np.where(df['col2'].str.contains('apple'), df['col1'] * 2, df['col1'])

ПРИМЕЧАНИЕ: Вы можете pass case = False in содержит, если вы хотите, чтобы регистр значений игнорировался

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...