由于Java中不像python中那样有现成的numpy包
#求平均数 #arr_mean = np.mean(arr)
#求方差 #arr_var = np.var(arr)
因此我们需要根据平均数和方差的定义来求解,具体代码见下:
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Var {
public static void main(String[] args) {
//List<String> list = new ArrayList<String>();
List<Integer> list = new ArrayList<>();
list.add(5);
list.add(6);
list.add(15);
int count=0;//总个数
double sum=0;//总和
double average=0;//平均数
double dStdDev=0;//总体标准偏差
count=list.size();
for(int i = 0; i < list.size(); ++i)
{
sum += list.get(i);
}
//求平均数
average = sum/list.size();
DecimalFormat df = new DecimalFormat(".000");
double dsum=0;
for(int i = 0; i < list.size(); ++i)
{
double s = list.get(i)-average;
dsum += Math.pow(s,2);
}
dStdDev = Math.sqrt(dsum / (list.size()-1));
System.out.println("标准偏差值==="+df.format(dStdDev));
}
}
参考: