datframe pandas заменяет числовые столбцы условием на категориальные столбцы - PullRequest
0 голосов
/ 17 января 2019

У меня есть датафрейм как:

    Final_Status    Delivered_cnt   RTO_cnt
1   RTO             0               1
2   RTO             4               1
3   Delivered       4               1
4   RTO             5               1
5   RTO             2               3
6   Delivered       1               1

на основе значения столбца Final_Status, Я хочу обновить Delivered и RTO.

Например: Первая строка Final_Status - RTO, уменьшение RTO_cnt на 1., так что row1 становится:

RTO             0           0

иначе, если Final_Status доставлен, Delivered_cnt уменьшается на 1., так что row3 становится:

Delivered       3               1

Финальный стол должен выглядеть примерно так:

    Final_Status    Delivered_cnt   RTO_cnt
1   RTO             0               0
2   RTO             4               0
3   Delivered       3               1
4   RTO             5               0
5   RTO             2               2
6   Delivered       0               1

1 Ответ

0 голосов
/ 17 января 2019

Это сработало:

  df1['Delivered'] = df1['Delivered'].mask(df1.Final_Status == 'Delivered',  df1['Delivered']-1)
  df1['RTO'] = df1['RTO'].mask(df1.Final_Status == 'RTO',  df1['RTO']-1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...