diff --git a/dataframe.go b/dataframe.go index ff61dbfeec9c86f0357f5a2df37f1ceba8a87e93..2f7d827969f31dabc40c61b138a22d0771e47972 100644 --- a/dataframe.go +++ b/dataframe.go @@ -228,28 +228,6 @@ func (df DataFrame) print( return str } -// Subset returns a subset of the rows of the original DataFrame based on the -// Series subsetting indexes. -func (df DataFrame) Subset(start, end int) DataFrame { - if df.Err != nil { - return df - } - columns := make([]Series, df.ncols) - for i, column := range df.columns { - s := column.Subset(start, end) - columns[i] = s - } - nrows, ncols, err := checkColumnsDimensions(columns...) - if err != nil { - return DataFrame{Err: err} - } - return DataFrame{ - columns: columns, - ncols: ncols, - nrows: nrows, - } -} - func checkColumnsDimensions(se ...Series) (nrows, ncols int, err error) { ncols = len(se) nrows = -1 diff --git a/dataframe_subset.go b/dataframe_subset.go new file mode 100644 index 0000000000000000000000000000000000000000..ea0b0d98502932007e0ef7cf41c87db7414d2d57 --- /dev/null +++ b/dataframe_subset.go @@ -0,0 +1,23 @@ +package pandas + +// Subset returns a subset of the rows of the original DataFrame based on the +// Series subsetting indexes. +func (df DataFrame) Subset(start, end int) DataFrame { + if df.Err != nil { + return df + } + columns := make([]Series, df.ncols) + for i, column := range df.columns { + s := column.Subset(start, end) + columns[i] = s + } + nrows, ncols, err := checkColumnsDimensions(columns...) + if err != nil { + return DataFrame{Err: err} + } + return DataFrame{ + columns: columns, + ncols: ncols, + nrows: nrows, + } +}