Как увеличить значение каждой ячейки в конкретном столбце на единицу в зависимости от определенного условия в python кадре данных - PullRequest
0 голосов
/ 06 мая 2020
In [235]: df
Out[235]:
   a  b  c
0  2  2  6
1  1  0  3
2  2  2  7
3  0  2  0
4  0  1  8

Я хотел бы увеличить значение каждой ячейки в столбце «c» на единицу при условии, что если значение ячейки столбца «c» больше 5. Если столбец «c», каждая ячейка значение меньше 5, тогда значение ячейки столбца 'c' становится нулевым, например, ячейка (3,1) = 6, затем 6> 5, ячейка (3,1) становится 7. И ячейка (3,2) = 3, затем 3 <5, ячейка (3,2) становится 0, ... надеюсь, вы поняли Выведите что-то вроде этого .. </p>

In [237]: df
Out[237]:
   a  b  c
0  2  2  7
1  1  0  0
2  2  2  8
3  0  2  0
4  0  1  9

Ответы [ 2 ]

2 голосов
/ 06 мая 2020

Сделаем numpy

import numpy as np
df['c']=np.where(df.c>5,df.c+1,0)
df
   a  b  c
0  2  2  7
1  1  0  0
2  2  2  8
3  0  2  0
4  0  1  9
1 голос
/ 06 мая 2020

Вы можете использовать функцию apply и определить функцию для вашего журнала c.

In [8]: df = pd.DataFrame({'a': [2,1,2,0,0], 'b':[2,0,2,2,1],'c':[6,3,7,0,8]})

In [9]: df
Out[9]:
   a  b  c
0  2  2  6
1  1  0  3
2  2  2  7
3  0  2  0
4  0  1  8

In [10]: df['c'] = df['c'].apply(lambda x: x+1 if x>5 else 0)

In [11]: df
Out[11]:
   a  b  c
0  2  2  7
1  1  0  0
2  2  2  8
3  0  2  0
4  0  1  9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...