我正在计算表格列的平均值。 但在我计算之前,我想过滤掉具有特定值的每一行,'性别= 0'。
我已计算出性别已过滤的excel中的预期平均值,但我无法在脚本中重新创建此值。我是编程的新手,我确信我做了一些明显的错误。我已尝试在此处查看类似问题,但无法将其应用于我的脚本。
使用处理(基于Java)。
我的数据片段
//LOOP THROUGH TABLE AND FILTER
for (int column=0; column<highTable.getColumnCount(); column++)
{
float ColumnTotal=0;
for (int row=0; row<highTable.getRowCount(); row++)
{
//I want to filter out all rows from the table that is 'Gender = 0'
if (highTable.getInt(row, "Gender") == 0)
{
continue; //I've also tried row++ here, this works depending on the value of the last row, oterhwise it crashes. Also, I think it fails to skip when there are multiple 'gender 0' in succession, bacause I've calulated the return value in excel, and this script returns a slightly wrong number.
}
float rowvalue = highTable.getInt(row, column);
ColumnTotal += rowvalue;
highAverage[column]= ColumnTotal/highTable.getRowCount();
}
}
答案 0 :(得分:0)
highAverage[column]
循环之前,请不要计算row
。gender != 0
而不是highTable.getRowCount()
的行数。您需要一个新的局部变量 - 与您的ColumnTotal
变量相同的范围。在将rowValue
添加到ColumnTotal
的同时增加它。最后,在计算平均值之前,只需要防止被零除。