在python中,如何用列均值替换数据框中的特定值?

时间:2019-10-25 12:15:35

标签: python pandas dataframe

我发现了有关替换列中值的问题,但是我不知道如何用列均值专门替换每个值。例如,在提供的代码中,我如何用找到-1的列的平均值替换每个-1?我是python的新手,不知道要去哪里

df = pd.DataFrame({"A" : [1, 2, 4, -1, 6, 7, 8],
"B" : [2, 4, -1, 8, 10, 6, 7], 
"C" : [20, -1, 4, 8, 19, 1, 7] })

1 个答案:

答案 0 :(得分:2)

DataFrame.mask==的{​​{1}}进行比较,并将mean用于集合df = df.mask(df.eq(-1), df.mean(), axis=1) print (df) A B C 0 1.000000 2.000000 20.000000 1 2.000000 4.000000 8.285714 2 4.000000 5.142857 4.000000 3 3.857143 8.000000 8.000000 4 6.000000 10.000000 19.000000 5 7.000000 6.000000 1.000000 6 8.000000 7.000000 7.000000

print (df.mean())
A    3.857143
B    5.142857
C    8.285714
dtype: float64

详细信息

ComponentName.defaultProps = {
  onSubmit: () => {},
  onClose: () => {} // default function
}