java数据分析样例

数据是从Kaggle上下载的,大致是一个印度大学对学生在毕业后就业情况的调查,主要是MBA的学生。
大致长这样:15列,215行
在这里插入图片描述
这份数据基本没有什么需要修改或者完善的(也就是清理)地方。但我还是进行了几个步骤。
1.是否有填null

public static boolean checkNull(String value){
        return value==null||"null".equalsIgnoreCase(value)||value=="";
    }
 //返回某一列的所有不同取值
    public static String allDifferentValues(int column,String data[][]){
        String values=data[0][column];
        for(int i=1;i<215;i++){
            if(!values.contains(data[i][column])){
                values+=", " + data[i][column];
            }
        }
        return values;
    }
 //检验数值型最大最小
    public static String checkForMaxMin(int column,String data[][],int min,int max){
        String check="";
        for(int i=1;i<215;i++){
            if(Double.parseDouble(data[i][column])>=max||Double.parseDouble(data[i][column])<=min){
                check+="第" + i + "行第" + column + "列的数据超出预期范围" + "\n";
            }
        }
        if(!check.contains("的")){
            check="第" + column + "列的数据都在预期范围之内";
        }
        return check;
    }

4.从CSV里读到数组里。最后第十五行因为没有找到工作的就没有填薪水所以我填上了0.

public static String[][] readCSVAndCheckNull(int lines,int columns){
        String[][] data=new String[lines][columns];
        try(BufferedReader bufferedReader=new BufferedReader(new FileReader("Placement_Data_Full_Class.csv"))){
            String columnNames=bufferedReader.readLine();
            System.out.println(columnNames);
            String line;
            int m=0,n;
            while((line=bufferedReader.readLine())!=null){
                CSVParser parser=CSVParser.parse(line, CSVFormat.DEFAULT);
                //按行读取
                for(CSVRecord csvRecord:parser){
                    //检查一行中是否有空值null
                    boolean ContainNull=false;
                    for(int i=0;i<15;i++){
                        boolean j=checkNull(csvRecord.get(i));
                        if(j==true){
                            ContainNull=true;
                        }
                    }
                    for(n=0;n<columns-1;n++) {
                        data[m][n] = csvRecord.get(n);
                    }
                    if(csvRecord.get(14).equals("")){
                        data[m][14]="0";
                    }else{
                        data[m][14]=csvRecord.get(14);
                    }
                    String note=ContainNull?"含有null":"不含null";
                    System.out.println(data[m][0]+ " " +note);
                    m++;
                }
            }
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
        return data;
    }

以上没有涉及分析阶段。我还会继续更的。

======================
下面是废话:
最近还在学javaweb,在写一个小的系统。经常出错,最一开始一个错我要看好久,现在看报错已经速度加快了。现在这个网页前后端没有分开,在这个网页做完后,我要开始看springboot和其它一些东西。还有好多要看的书,希望暑假结束前能看的差不多。


版权声明:本文为weixin_43444618原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。