繁体   English   中英

如何根据 python dataframe 中的特定条件将每个单元格值增加一个特定列

[英]How to increase a particular column each cell value by one, based on a certain condition in python dataframe

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

我想将 dataframe 中的“c”列每个单元格值增加一个,条件是如果“c”列单元格值大于 5。如果“c”列每个单元格值小于 5,则“c”列单元格值变为零例如 cell(3,1)=6, 然后 6>5, cell(3,1) 变成 7. and cell(3,2)=3 then 3<5, cell(3,2) 变成 0, .. .我希望你理解 Output 之类的东西..

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

让我们做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

您可以使用 apply function 并为您的逻辑定义 function 。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM