Заполнить строки столбца увеличенным значением после индекса - PullRequest
1 голос
/ 18 марта 2020

У меня есть цифра c столбец а), и мне нужно создать новый, который равен 0, когда а)> 100, а затем с шагом 1 для строк ниже и -1 для строк выше.

Например,

a  b

0 -5
20 -4
40 -3
60 -2
80 -1
100 0
120 1
140 2
160 3

Мне удалось заполнить строки нулями после 100, но сейчас я изо всех сил пытаюсь увеличить их значения ниже и выше этого индекса.

df_confirmed_portugal['day_100'] = df_confirmed_portugal.apply(lambda x: 0 if x['Confirmed'] > 100 else -1, axis=1 )

Могу ли я получить помощь, как это сделать?

С уважением

1 Ответ

1 голос
/ 18 марта 2020

Вы можете вычесть положение первого элемента, большее или равное 100 из последовательности np.arange:

df['b'] = np.arange(len(df)) - np.argmax(df['a'] >= 100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...