您可以使用DataFrame的sub
方法并指定相减应按行(axis=0
)进行,而不是按默认的按列行为:
df.sub(df.mean(axis=1), axis=0)
这是一个例子:
>>> df = pd.DataFrame({'a': [1.5, 2.5], 'b': [0.25, 2.75], 'c': [1.25, 0.75]})
>>> df
a b c
0 1.5 0.25 1.25
1 2.5 2.75 0.75
每行的平均值很容易计算:
>>> df.mean(axis=1)
0 1
1 2
dtype: float64
要取消对DataFrame的行的平均,只需从中减去行的平均值,df
如下所示:
>>> df.sub(df.mean(axis=1), axis=0)
a b c
0 0.5 -0.75 0.25
1 0.5 0.75 -1.25