Python新手!我有一个简单的数据框,用于将测验分数制成表格:
df = pd.DataFrame({'Sam':[20,20,20,20,20], 'Jim': [20,20,20,20,15],
'Stacy': [20,20,20,20,30], 'Leslie': [20,20,20,20,20], 'Jonathan':
[20,20,20,20,15]})
现在,我想写一些东西,改变每一列的顶值(从0开始),直到它对应的平均值等于预先确定的值,然后移到下一列。在得到想要的结果之前,添加一个新行并手工完成这项工作非常简单(如下所示)。然而,我正在寻找一些东西,使程序做迭代,我不得不在iloc字段,以获得'平均2'值,这是预先确定的。我想这可能需要某种while循环,但无法理解语法。代码下面的最终预期结果截图。谢谢您!你知道吗
df.loc['mean1'] = df.mean()
df.iloc[0:1,0:5] = 17, 17, 22, 22, 22
df.loc['mean2'] = df.iloc[:5,:].mean()
df
如果我错了,请纠正我,但如果我重新表述了您的问题:
你想要的是为每个参与者(列)找到第一个测验分数的值(测向位置[0]),这将确保参与者获得平均目标分数(mean2)?你知道吗
如果是这样的话,你可以这样做:
请注意,此代码将与任意数量的测验值(行)一起使用,并且您可以指定要估计/替换的测验值(
quiz_id
)。你知道吗然后您将得到以下输出:
相关问题 更多 >
编程相关推荐