1
NAの値を持つ列を削除したい。Javaの2D配列列を削除する方法
例:array [i、j]にNAが指定されている場合、i番目の列を削除します。 find2DIndexはNAの値を、removeNAはi番目の列を削除します。
NA値を削除するための努力にもかかわらず、まだ
private static Point find2DIndex(Object[][] array, Object search) {
if (search == null || array == null) return null;
for (int rowIndex = 0; rowIndex < array.length; rowIndex++) {
Object[] row = array[rowIndex];
if (row != null) {
for (int columnIndex = 0; columnIndex < row.length; columnIndex++) {
if (search.equals(row[columnIndex])) {
return new Point(rowIndex, columnIndex);
}
}
}
}
return null;
}
public static String[][] removeNA(String[][] str){
Point index = new Point();
if((index= find2DIndex(str,"NA"))!=null){
for(int j=0;j<49;j++){
for(int i=index.y;i<str.length/49;i++){
str[j][i]= str[j][i+1];
}//j열 모두 지우기
}
}
return str;
}
public static void main(String[] args) throws IOException {
String str = readCSV(new File("D:/sample.csv"));
String[] strArr = parse(str); // String 배열에 차곡차곡 담겨서 나온다.
String[][] Array2D = new String[27][45];
for(int i=0; i<45;i++){
for(int j=0;j<27;j++){
String k = strArr[i*27+j];
Array2D[j][i]= k;
}
}