由於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));
}
}
參考: