提问人:lingyau lee 提问时间:12/6/2022 最后编辑:lingyau lee 更新时间:12/6/2022 访问量:149
将 pd.dataframe 中的任何负值转换为正值,但正值变为 NaN
Converting any negative values in pd.dataframe to positive, but the positive values become NaN
问:
我有一个pd.dataframe,如下所示。对于任何负值,我想添加 256 以使其成为正值。我的代码适用于这部分,但是其他 2 个正值变为 NaN,我不希望这样。我怎样才能只将 256 设置为负值并保持正数不变?非常感谢
我的熊猫数据帧 DFX:
red green blue
0 72 101 -125
'''
dfx = dfx[dfx < 0] + 256
电流输出:
red green blue
0 NaN NaN 131
期望输出:
red green blue
0 72 101 131
答:
1赞
jezrael
12/6/2022
#1
使用 DataFrame.mask
:
dfx = dfx.mask(dfx < 0, dfx + 256 )
print (dfx)
red green blue
0 72 101 131
您的解决方案应更改:
dfx[dfx < 0] += 256
print (dfx)
red green blue
0 72 101 131
评论