панды удаляют значение столбца из двух других столбцов - PullRequest
0 голосов
/ 31 мая 2018

У меня есть следующий фрейм данных

team          team2     condition   Required_Col
Australia   Sri Lanka   Sri Lanka   Australia
Australia   Sri Lanka   Sri Lanka   Australia
Australia   Sri Lanka   Sri Lanka   Australia
Australia   Sri Lanka   Australia   Sri Lanka
Australia   Sri Lanka   Australia   Sri Lanka

Я хочу создать Required_Col таким образом, чтобы, если значение было в столбце condition, тогда значение отличалось от condition в team и team2 столбец должен быть выбран.Какой лучший способ сделать это в пандах?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вы можете использовать .apply () :

df['Required_Col'] = df.apply(lambda x: x['team2'] if (x['condition']==x['team']) else x['team'], axis=1)

Выход:

        team    team2       condition   Required_Col
0   Australia   SriLanka    SriLanka    Australia
1   Australia   SriLanka    SriLanka    Australia
2   Australia   SriLanka    SriLanka    Australia
3   Australia   SriLanka    Australia   SriLanka
4   Australia   SriLanka    Australia   SriLanka
0 голосов
/ 31 мая 2018

Использование np.where

df['required'] = np.where(df.condition == df.team, df.team2, df.team)

        team     team2  condition   required
0  Australia  SriLanka   SriLanka  Australia
1  Australia  SriLanka   SriLanka  Australia
2  Australia  SriLanka   SriLanka  Australia
3  Australia  SriLanka  Australia   SriLanka
4  Australia  SriLanka  Australia   SriLanka
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...