diff --git a/src/csharp/Microsoft.Spark.E2ETest/IpcTests/Sql/DataFrameTests.cs b/src/csharp/Microsoft.Spark.E2ETest/IpcTests/Sql/DataFrameTests.cs index c8cd1f819..84619e174 100644 --- a/src/csharp/Microsoft.Spark.E2ETest/IpcTests/Sql/DataFrameTests.cs +++ b/src/csharp/Microsoft.Spark.E2ETest/IpcTests/Sql/DataFrameTests.cs @@ -628,6 +628,8 @@ public void TestSignaturesV2_3_X() Assert.IsType(_df.First()); + Assert.IsType(_df.Transform(df => df.Drop("age"))); + Assert.IsType(_df.Take(3).ToArray()); Assert.IsType(_df.Collect().ToArray()); diff --git a/src/csharp/Microsoft.Spark/Sql/DataFrame.cs b/src/csharp/Microsoft.Spark/Sql/DataFrame.cs index 587b3d351..41becc95b 100644 --- a/src/csharp/Microsoft.Spark/Sql/DataFrame.cs +++ b/src/csharp/Microsoft.Spark/Sql/DataFrame.cs @@ -750,6 +750,15 @@ public DataFrame Summary(params string[] statistics) => /// First row public Row First() => Head(); + /// + /// Concise syntax for chaining custom transformations. + /// + /// + /// A function that takes and returns a + /// + /// Transformed DataFrame object. + public DataFrame Transform(Func func) => func(this); + /// /// Returns the first `n` rows in the `DataFrame`. ///