package cookbook; import java.io.File; import org.junit.Test; import water.DKV; import water.Key; import water.Value; import water.fvec.Chunk; import water.fvec.Frame; import water.fvec.NFSFileVec; import water.fvec.ParseDataset2; import water.fvec.Vec; import water.util.Log; /* * This example parses a frame into H2O and prints the various specifics of all vectors and chunks */ public class VecChunkDemo { @Test public void frame_001() { String fileName = "../smalldata/iris/iris.csv"; File file = new File(fileName); Key fkey = NFSFileVec.make(file); Key okey = Key.make("iris.hex"); Frame fr; fr = ParseDataset2.parse(okey, new Key[]{fkey}); Value v = DKV.get(okey); Frame f = v.get(); Log.info("frame : "+f); int len = f.numCols(); for(int i=0; i<len; i++){ Log.info("vector :" +i); Vec vv = f.vec(i); // looping through the vectors of a frame and printing specifics Log.info("vector summary :" + vv); Log.info("vector length :"+vv.length()); Log.info("vector group :"+vv.group()); Log.info("vector na count :" + vv.naCnt()); Log.info("vector domain null if not enum:"+vv.domain()); // null if not enum int cardinality = vv.cardinality(); Log.info("vector cardianlity :"+vv.cardinality()); if(cardinality != -1){ for(int j = 0; j<cardinality; j++) Log.info("labels :" +vv.domain(j) ); } Log.info("vector value at row 50 :"+vv.at(51)); //gives the element at that row; count starts from 0. int chunk_count = vv.nChunks(); Log.info("chunk count :"+ chunk_count); Chunk c = vv.chunkForRow(100); Log.info("chunk for row 100 :"+ c); } } }