使用Python Panda在.csv中搜索包含零以下数字的单元格,然后用其左右两侧单元格的平均值替换它们



我有一个很大的数据集,里面有一些错误。所有零以上的数字都是正确的。误差低于零。我如何在Python中使用panda来运行整个数据集,确定数字是否低于零,然后将其更改为左右两侧单元格的平均值?

举个例子,如果一行说(8,8,7,6,9,-344,8(,我需要识别负数的代码,然后用(9+8/2(代替它,所以8.5

谢谢!

Youi可以将负值替换为缺失值,然后用除法2:向前和向后填充缺失值

print (df)
0  1  2  3  4     5  6
0  8  8  7  6  9 -3434  8

df1 = df.mask(df < 0)
df1 = df1.ffill(axis=1).add(df1.bfill(axis=1)).div(2)
print (df1)
0    1    2    3    4    5    6
0  8.0  8.0  7.0  6.0  9.0  8.5  8.0

最新更新