Как выполнить операцию над столбцом pandas в соответствии со значениями индекса - PullRequest
1 голос
/ 02 августа 2020

Допустим, у меня есть следующий фрейм данных:

data

   x
0  1
1  2
2  3
3  4
4  5
5  6
6  7
7  8
8  9 
9  10

Есть ли способ выполнить операцию с указанными c строками по индексу ?

ie, я хотел бы вычесть 1 из строк после индекса 3 и обновить начальный столбец.

data

   x
0  1
1  2
2  3
3  4
4  4
5  5
6  6
7  7
8  8 
9  9

Мне также любопытно, как бы вы go отнеслись к этому, если бы создали совершенно новый column

data['y'] = *some pandas function*

   x  y
0  1  1
1  2  2
2  3  3
3  4  4
4  5  4
5  6  5
6  7  6
7  8  7
8  9  8
9  10 9

Я знаю, что вы можете использовать np.where при изменении значений столбца в соответствии с условными значениями другого столбца, но я пытаюсь изменить значения столбца в пределах диапазона значений индекса.

1 Ответ

1 голос
/ 02 августа 2020

Да, мы можем сделать это с помощью np.where

df['y']=np.where(df.index>3,df.x-1,df.x)
df
Out[100]: 
    x  y
0   1  1
1   2  2
2   3  3
3   4  4
4   5  4
5   6  5
6   7  6
7   8  7
8   9  8
9  10  9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...