diff --git a/dataframe-operations.cabal b/dataframe-operations.cabal
--- a/dataframe-operations.cabal
+++ b/dataframe-operations.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               dataframe-operations
-version:            1.0.1.0
+version:            1.0.1.1
 
 synopsis:           Column operations, expression DSL, and statistics for the dataframe ecosystem.
 description:
diff --git a/src/DataFrame/Operations/Subset.hs b/src/DataFrame/Operations/Subset.hs
--- a/src/DataFrame/Operations/Subset.hs
+++ b/src/DataFrame/Operations/Subset.hs
@@ -370,6 +370,19 @@
       where
         ixs = V.ifoldl' (\acc' i c -> if f c then i : acc' else acc') [] (columns df)
 
+{- | O(k * n) select rows by index
+
+> selectRows [0, 2, 4] df
+-}
+selectRows :: [Int] -> DataFrame -> DataFrame
+selectRows ixs df =
+    df
+        { columns = V.map (atIndicesStable ixs') (columns df)
+        , dataframeDimensions = (VU.length ixs', snd (dataframeDimensions df))
+        }
+  where
+    ixs' = VU.fromList ixs
+
 {- | O(n) inverse of select
 
 > exclude ["Name"] df
