我如何能精确这python代码成几行?



我想精确这段代码,我找到意味着也就是更新数据帧。我如何找到模式并在几行中使用这些代码。

import pandas as pd
import numpy as np
df = pd.read_csv('Dataset2.csv')
df = df.to_numpy()
for i in range (0,len(df)):
mean_1 = df[i,1:5].sum() / 4
mean_2 = (df[i,0:1].sum() + df[i,2:5].sum()) / 4 
mean_3 = (df[i,0:2].sum() + df[i,3:5].sum()) / 4 
mean_4 = (df[i,0:3].sum() + df[i,4:5].sum()) / 4
mean_5 = df[i,0:4].sum() / 4


df[i,0] = df[i,0] - mean_1
df[i,1] = df[i,1] - mean_2
df[i,2] = df[i,2] - mean_3
df[i,3] = df[i,3] - mean_4
df[i,4] = df[i,4] - mean_5

我对你想做的事情的理解是

给定一个数据框df,创建一个新的数据框,其中第i行第j列元素的值等于第i行除第j列

之外的所有值的平均值。如果这是正确的,那么下面的操作会快得多。它假设数据框只包含此计算所需的列。如果有额外的列,则需要使用索引

调整解决方案。
means = (df.sum(axis=1).reshape((len(df),1)) - df)/4

means将是一个numpy数组,所以如果需要的话,请将其封装在pandas Dataframe中

最新更新