@@ -43,7 +43,7 @@ class LazyFrame private (private[polars] val ptr: Long) {
43
43
def sort (
44
44
cols : Array [String ],
45
45
descending : Array [Boolean ],
46
- nullLast : Boolean ,
46
+ nullLast : Array [ Boolean ] ,
47
47
maintainOrder : Boolean
48
48
): LazyFrame = {
49
49
assert(
@@ -56,7 +56,7 @@ class LazyFrame private (private[polars] val ptr: Long) {
56
56
Expression .withPtr(column_expr.sort_column_by_name(column, bool))
57
57
}
58
58
59
- sort(exprs, null_last = nullLast, maintainOrder = maintainOrder)
59
+ sort(exprs, nullLast, maintainOrder = maintainOrder)
60
60
}
61
61
62
62
def sort (
@@ -65,17 +65,27 @@ class LazyFrame private (private[polars] val ptr: Long) {
65
65
nullLast : Boolean ,
66
66
maintainOrder : Boolean
67
67
): LazyFrame =
68
- sort(Array (col), Array (descending), nullLast = nullLast, maintainOrder = maintainOrder)
68
+ sort(Array (col), Array (descending), Array (nullLast), maintainOrder = maintainOrder)
69
+
70
+ def sort (
71
+ exprs : Array [Expression ],
72
+ null_last : Array [Boolean ],
73
+ maintainOrder : Boolean
74
+ ): LazyFrame = {
75
+ assert(
76
+ exprs.length == null_last.length,
77
+ s " Length of provided expressions ( ${exprs.length}) and their " +
78
+ s " null_last ( ${null_last.length}) is not equal. "
79
+ )
69
80
70
- def sort (exprs : Array [Expression ], null_last : Boolean , maintainOrder : Boolean ): LazyFrame = {
71
81
val ldfPtr =
72
82
lazy_frame.sortFromExprs(ptr, exprs.map(_.ptr).distinct, null_last, maintainOrder)
73
83
74
84
LazyFrame .withPtr(ldfPtr)
75
85
}
76
86
77
87
def sort (expr : Expression , nullLast : Boolean , maintainOrder : Boolean ): LazyFrame =
78
- sort(Array (expr), null_last = nullLast, maintainOrder = maintainOrder)
88
+ sort(Array (expr), Array ( nullLast) , maintainOrder = maintainOrder)
79
89
80
90
def set_sorted (mapping : Map [String , Boolean ]): LazyFrame =
81
91
set_sorted(mapping.asJava)
@@ -89,29 +99,34 @@ class LazyFrame private (private[polars] val ptr: Long) {
89
99
def top_k (
90
100
k : Int ,
91
101
exprs : Array [Expression ],
92
- null_last : Boolean ,
102
+ null_last : Array [ Boolean ] ,
93
103
maintainOrder : Boolean
94
104
): LazyFrame = {
105
+ assert(
106
+ exprs.length == null_last.length,
107
+ s " Length of provided expressions ( ${exprs.length}) and their " +
108
+ s " null_last ( ${null_last.length}) is not equal. "
109
+ )
95
110
val ldfPtr =
96
111
lazy_frame.topKFromExprs(ptr, k, exprs.map(_.ptr).distinct, null_last, maintainOrder)
97
112
98
113
LazyFrame .withPtr(ldfPtr)
99
114
}
100
115
101
116
def top_k (k : Int , expr : Expression , nullLast : Boolean , maintainOrder : Boolean ): LazyFrame =
102
- top_k(k, Array (expr), null_last = nullLast, maintainOrder = maintainOrder)
117
+ top_k(k, Array (expr), Array ( nullLast) , maintainOrder = maintainOrder)
103
118
104
119
def top_k (
105
120
k : Int ,
106
121
cols : Array [String ],
107
122
descending : Array [Boolean ],
108
- nullLast : Boolean ,
123
+ nullLast : Array [ Boolean ] ,
109
124
maintainOrder : Boolean
110
125
): LazyFrame = {
111
126
assert(
112
127
cols.length == descending.length,
113
- s " Length of provided list columns( ${cols.length}) and their " +
114
- s " sorting directions(( ${descending.length}) ) is not equal."
128
+ s " Length of provided list columns ( ${cols.length}) and their " +
129
+ s " sorting directions ( ${descending.length}) is not equal. "
115
130
)
116
131
117
132
val exprs = cols.zip(descending).map { case (column, bool) =>
@@ -128,7 +143,7 @@ class LazyFrame private (private[polars] val ptr: Long) {
128
143
nullLast : Boolean ,
129
144
maintainOrder : Boolean
130
145
): LazyFrame =
131
- top_k(k, Array (col), Array (descending), nullLast = nullLast , maintainOrder = maintainOrder)
146
+ top_k(k, Array (col), Array (descending), Array ( nullLast) , maintainOrder = maintainOrder)
132
147
133
148
def limit (n : Long ): LazyFrame = LazyFrame .withPtr(lazy_frame.limit(ptr, n))
134
149
0 commit comments