Вычтите увеличивающиеся значения из столбца данных pandas - PullRequest
0 голосов
/ 26 марта 2020

У меня есть фрейм данных, который выглядит следующим образом

Name  a   
b     4   
c     4    
d     4 

Я хочу вычесть число из каждой строки в столбце a, это число задается арифметической c последовательностью (x = x + 1 ) и начинается с 1, следовательно, результат будет ниже.

Name  a   
b     3   
c     2    
d     1 

Как этого достичь?

1 Ответ

2 голосов
/ 26 марта 2020

Используйте Series.sub с np.arange:

df['a'] = df['a'].sub(np.arange(1, len(df) + 1))
#df['a'] = df['a'] - np.arange(1, len(df) + 1)

или если индекс по умолчанию:

df['a'] = df['a'].sub(df.index + 1)

Вывод

  Name  a
0    b  3
1    c  2
2    d  1

мы также можем сделать:

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