// AddRow will add a new row to the DataFrame
AddRow will add a new row to the DataFrame
// AddRow will add a new row to the DataFrame
func (df *DF) AddRow(row *Row) error {
	if err := df.mci.Match(row.mci); err != nil {
		return err
	}
	for i, ci := range df.mci.info {
		vi := df.mci.valIdx[i]
		switch ci.colType {
		case ColTypeBool:
			df.boolCols[vi] = append(df.boolCols[vi], row.rd.boolVals[vi])
		case ColTypeFloat:
			df.floatCols[vi] = append(df.floatCols[vi], row.rd.floatVals[vi])
		case ColTypeInt:
			df.intCols[vi] = append(df.intCols[vi], row.rd.intVals[vi])
		case ColTypeString:
			df.stringCols[vi] = append(df.stringCols[vi], row.rd.stringVals[vi])
		}
	}
	return nil
}
func ( df * DF ) AddRow ( row * Row ) error { if err := df . mci . Match ( row . mci ) ; err != nil { return err } for i , ci := range df . mci . info { vi := df . mci . valIdx [ i ] switch ci . colType { case ColTypeBool : df . boolCols [ vi ] = append ( df . boolCols [ vi ] , row . rd . boolVals [ vi ] ) case ColTypeFloat : df . floatCols [ vi ] = append ( df . floatCols [ vi ] , row . rd . floatVals [ vi ] ) case ColTypeInt : df . intCols [ vi ] = append ( df . intCols [ vi ] , row . rd . intVals [ vi ] ) case ColTypeString : df . stringCols [ vi ] = append ( df . stringCols [ vi ] , row . rd . stringVals [ vi ] ) } } return nil }
AddRow will add a new row to the DataFrame
AddRow will add a new row to the DataFrame