Pandas更改单元格值,使其等于行中平均值的偏差?

2024-06-06 20:19:11 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个如下所示的df:

Sample Df

行x、y和z的平均值分别为1、2和10

我想将df转换为以下内容:

desired result

以便单元格值反映与行平均值的偏差

我使用的数据帧稍大一些,大约1500行乘50列。有没有一个优雅的方法来实现这一点?我可以通过创建一个包含所有平均值的矩阵,然后找出df值和新矩阵值之间的差异,用粗野的数学方法来实现,但我想知道是否有更聪明或更简单的方法来实现这一点。谢谢你的帮助


Tags: 数据方法df矩阵差异平均值偏差数学方法
1条回答
网友
1楼 · 发布于 2024-06-06 20:19:11

当然,您可以按行计算mean计算值,然后计算差值:

df = pd.DataFrame({'x':[1,2,3],'y':[2,3,4]})

mean = df.mean(axis=1)
df = df.sub(mean,axis=0)
print(df)

输出:

     x    y
0 -0.5  0.5
1 -0.5  0.5
2 -0.5  0.5

相关问题 更多 >