我发现了有关替换列中值的问题,但是我不知道如何用列均值专门替换每个值。例如,在提供的代码中,我如何用找到-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] })
答案 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
}