如何在python数据帧中处理带条件的循环
如果值(int)大于0,我当前正在尝试将1添加到整个列中。我目前使用的代码如下所示:`如何在python数据帧中处理带条件的循环,python,pandas,for-loop,dataframe,calculated-columns,Python,Pandas,For Loop,Dataframe,Calculated Columns,如果值(int)大于0,我当前正在尝试将1添加到整个列中。我目前使用的代码如下所示:` for coldcloudy in final.coldcloudy: final.loc[final['coldcloudy'] > 0,coldcloudy] +=1 然而,我不断得到一个“KeyError:0”。本质上,我希望代码在特定列中逐行执行,如果整数为零,则添加1。对于由1添加的值,我将添加到另一列。有人能帮忙吗?您不需要循环: final = pd.DataFrame({'co
for coldcloudy in final.coldcloudy:
final.loc[final['coldcloudy'] > 0,coldcloudy] +=1
然而,我不断得到一个“KeyError:0”。本质上,我希望代码在特定列中逐行执行,如果整数为零,则添加1。对于由1添加的值,我将添加到另一列。有人能帮忙吗?您不需要循环:
final = pd.DataFrame({'coldcloudy':np.random.choice([0,1],20)})
final.loc[final.coldcloudy > 0, 'coldcloudy'] += 1
print(final)
输出:
coldcloudy
0 2
1 2
2 0
3 0
4 2
5 2
6 0
7 2
8 0
9 0
10 2
11 2
12 0
13 2
14 2
15 0
16 2
17 0
18 2
19 2
您不需要for循环:
final = pd.DataFrame({'coldcloudy':np.random.choice([0,1],20)})
final.loc[final.coldcloudy > 0, 'coldcloudy'] += 1
print(final)
输出:
coldcloudy
0 2
1 2
2 0
3 0
4 2
5 2
6 0
7 2
8 0
9 0
10 2
11 2
12 0
13 2
14 2
15 0
16 2
17 0
18 2
19 2
你能给你的帖子添加一个输入和输出示例吗?只需使用
final.coldcloudy[final.coldcloudy>0]+=1
你能给帖子添加一个输入和输出示例吗?只需使用final.coldcloudy[final.coldcloudy>0]+=1