polars-df 0.13.0-aarch64-linux-musl → 0.15.0-aarch64-linux-musl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/Cargo.lock +1368 -319
  4. data/LICENSE-THIRD-PARTY.txt +24801 -13447
  5. data/LICENSE.txt +1 -0
  6. data/README.md +1 -2
  7. data/lib/polars/3.1/polars.so +0 -0
  8. data/lib/polars/3.2/polars.so +0 -0
  9. data/lib/polars/3.3/polars.so +0 -0
  10. data/lib/polars/batched_csv_reader.rb +0 -2
  11. data/lib/polars/binary_expr.rb +133 -9
  12. data/lib/polars/binary_name_space.rb +101 -6
  13. data/lib/polars/config.rb +4 -0
  14. data/lib/polars/data_frame.rb +285 -62
  15. data/lib/polars/data_type_group.rb +28 -0
  16. data/lib/polars/data_types.rb +2 -0
  17. data/lib/polars/date_time_expr.rb +244 -0
  18. data/lib/polars/date_time_name_space.rb +87 -0
  19. data/lib/polars/expr.rb +109 -8
  20. data/lib/polars/functions/as_datatype.rb +51 -2
  21. data/lib/polars/functions/col.rb +1 -1
  22. data/lib/polars/functions/eager.rb +1 -3
  23. data/lib/polars/functions/lazy.rb +88 -10
  24. data/lib/polars/functions/range/time_range.rb +21 -21
  25. data/lib/polars/io/csv.rb +14 -16
  26. data/lib/polars/io/database.rb +2 -2
  27. data/lib/polars/io/ipc.rb +14 -12
  28. data/lib/polars/io/ndjson.rb +10 -0
  29. data/lib/polars/io/parquet.rb +168 -111
  30. data/lib/polars/lazy_frame.rb +649 -15
  31. data/lib/polars/list_name_space.rb +169 -0
  32. data/lib/polars/selectors.rb +1144 -0
  33. data/lib/polars/series.rb +470 -40
  34. data/lib/polars/string_cache.rb +27 -1
  35. data/lib/polars/string_expr.rb +0 -1
  36. data/lib/polars/string_name_space.rb +73 -3
  37. data/lib/polars/struct_name_space.rb +31 -7
  38. data/lib/polars/utils/various.rb +5 -1
  39. data/lib/polars/utils.rb +45 -10
  40. data/lib/polars/version.rb +1 -1
  41. data/lib/polars.rb +2 -1
  42. metadata +4 -3
  43. data/lib/polars/functions.rb +0 -57
@@ -133,6 +133,17 @@ module Polars
133
133
  # Sum all the arrays in the list.
134
134
  #
135
135
  # @return [Series]
136
+ #
137
+ # @example
138
+ # s = Polars::Series.new("values", [[1], [2, 3]])
139
+ # s.list.sum
140
+ # # =>
141
+ # # shape: (2,)
142
+ # # Series: 'values' [i64]
143
+ # # [
144
+ # # 1
145
+ # # 5
146
+ # # ]
136
147
  def sum
137
148
  super
138
149
  end
@@ -140,6 +151,17 @@ module Polars
140
151
  # Compute the max value of the arrays in the list.
141
152
  #
142
153
  # @return [Series]
154
+ #
155
+ # @example
156
+ # s = Polars::Series.new("values", [[4, 1], [2, 3]])
157
+ # s.list.max
158
+ # # =>
159
+ # # shape: (2,)
160
+ # # Series: 'values' [i64]
161
+ # # [
162
+ # # 4
163
+ # # 3
164
+ # # ]
143
165
  def max
144
166
  super
145
167
  end
@@ -147,6 +169,17 @@ module Polars
147
169
  # Compute the min value of the arrays in the list.
148
170
  #
149
171
  # @return [Series]
172
+ #
173
+ # @example
174
+ # s = Polars::Series.new("values", [[4, 1], [2, 3]])
175
+ # s.list.min
176
+ # # =>
177
+ # # shape: (2,)
178
+ # # Series: 'values' [i64]
179
+ # # [
180
+ # # 1
181
+ # # 2
182
+ # # ]
150
183
  def min
151
184
  super
152
185
  end
@@ -154,6 +187,17 @@ module Polars
154
187
  # Compute the mean value of the arrays in the list.
155
188
  #
156
189
  # @return [Series]
190
+ #
191
+ # @example
192
+ # s = Polars::Series.new("values", [[3, 1], [3, 3]])
193
+ # s.list.mean
194
+ # # =>
195
+ # # shape: (2,)
196
+ # # Series: 'values' [f64]
197
+ # # [
198
+ # # 2.0
199
+ # # 3.0
200
+ # # ]
157
201
  def mean
158
202
  super
159
203
  end
@@ -161,6 +205,27 @@ module Polars
161
205
  # Sort the arrays in the list.
162
206
  #
163
207
  # @return [Series]
208
+ #
209
+ # @example
210
+ # s = Polars::Series.new("a", [[3, 2, 1], [9, 1, 2]])
211
+ # s.list.sort
212
+ # # =>
213
+ # # shape: (2,)
214
+ # # Series: 'a' [list[i64]]
215
+ # # [
216
+ # # [1, 2, 3]
217
+ # # [1, 2, 9]
218
+ # # ]
219
+ #
220
+ # @example
221
+ # s.list.sort(reverse: true)
222
+ # # =>
223
+ # # shape: (2,)
224
+ # # Series: 'a' [list[i64]]
225
+ # # [
226
+ # # [3, 2, 1]
227
+ # # [9, 2, 1]
228
+ # # ]
164
229
  def sort(reverse: false)
165
230
  super
166
231
  end
@@ -168,6 +233,17 @@ module Polars
168
233
  # Reverse the arrays in the list.
169
234
  #
170
235
  # @return [Series]
236
+ #
237
+ # @example
238
+ # s = Polars::Series.new("a", [[3, 2, 1], [9, 1, 2]])
239
+ # s.list.reverse
240
+ # # =>
241
+ # # shape: (2,)
242
+ # # Series: 'a' [list[i64]]
243
+ # # [
244
+ # # [1, 2, 3]
245
+ # # [2, 1, 9]
246
+ # # ]
171
247
  def reverse
172
248
  super
173
249
  end
@@ -175,6 +251,17 @@ module Polars
175
251
  # Get the unique/distinct values in the list.
176
252
  #
177
253
  # @return [Series]
254
+ #
255
+ # @example
256
+ # s = Polars::Series.new("a", [[1, 1, 2], [2, 3, 3]])
257
+ # s.list.unique()
258
+ # # =>
259
+ # # shape: (2,)
260
+ # # Series: 'a' [list[i64]]
261
+ # # [
262
+ # # [1, 2]
263
+ # # [2, 3]
264
+ # # ]
178
265
  def unique
179
266
  super
180
267
  end
@@ -185,6 +272,18 @@ module Polars
185
272
  # Columns to concat into a List Series
186
273
  #
187
274
  # @return [Series]
275
+ #
276
+ # @example
277
+ # s1 = Polars::Series.new("a", [["a", "b"], ["c"]])
278
+ # s2 = Polars::Series.new("b", [["c"], ["d", nil]])
279
+ # s1.list.concat(s2)
280
+ # # =>
281
+ # # shape: (2,)
282
+ # # Series: 'a' [list[str]]
283
+ # # [
284
+ # # ["a", "b", "c"]
285
+ # # ["c", "d", null]
286
+ # # ]
188
287
  def concat(other)
189
288
  super
190
289
  end
@@ -203,6 +302,18 @@ module Polars
203
302
  # false -> raise an error
204
303
  #
205
304
  # @return [Series]
305
+ #
306
+ # @example
307
+ # s = Polars::Series.new("a", [[3, 2, 1], [], [1, 2]])
308
+ # s.list.get(0, null_on_oob: true)
309
+ # # =>
310
+ # # shape: (3,)
311
+ # # Series: 'a' [i64]
312
+ # # [
313
+ # # 3
314
+ # # null
315
+ # # 1
316
+ # # ]
206
317
  def get(index, null_on_oob: false)
207
318
  super
208
319
  end
@@ -240,6 +351,18 @@ module Polars
240
351
  # Get the first value of the sublists.
241
352
  #
242
353
  # @return [Series]
354
+ #
355
+ # @example
356
+ # s = Polars::Series.new("a", [[3, 2, 1], [], [1, 2]])
357
+ # s.list.first
358
+ # # =>
359
+ # # shape: (3,)
360
+ # # Series: 'a' [i64]
361
+ # # [
362
+ # # 3
363
+ # # null
364
+ # # 1
365
+ # # ]
243
366
  def first
244
367
  super
245
368
  end
@@ -247,6 +370,18 @@ module Polars
247
370
  # Get the last value of the sublists.
248
371
  #
249
372
  # @return [Series]
373
+ #
374
+ # @example
375
+ # s = Polars::Series.new("a", [[3, 2, 1], [], [1, 2]])
376
+ # s.list.last
377
+ # # =>
378
+ # # shape: (3,)
379
+ # # Series: 'a' [i64]
380
+ # # [
381
+ # # 1
382
+ # # null
383
+ # # 2
384
+ # # ]
250
385
  def last
251
386
  super
252
387
  end
@@ -257,6 +392,18 @@ module Polars
257
392
  # Item that will be checked for membership.
258
393
  #
259
394
  # @return [Series]
395
+ #
396
+ # @example
397
+ # s = Polars::Series.new("a", [[3, 2, 1], [], [1, 2]])
398
+ # s.list.contains(1)
399
+ # # =>
400
+ # # shape: (3,)
401
+ # # Series: 'a' [bool]
402
+ # # [
403
+ # # true
404
+ # # false
405
+ # # true
406
+ # # ]
260
407
  def contains(item)
261
408
  super
262
409
  end
@@ -264,6 +411,17 @@ module Polars
264
411
  # Retrieve the index of the minimal value in every sublist.
265
412
  #
266
413
  # @return [Series]
414
+ #
415
+ # @example
416
+ # s = Polars::Series.new("a", [[1, 2], [2, 1]])
417
+ # s.list.arg_min
418
+ # # =>
419
+ # # shape: (2,)
420
+ # # Series: 'a' [u32]
421
+ # # [
422
+ # # 0
423
+ # # 1
424
+ # # ]
267
425
  def arg_min
268
426
  super
269
427
  end
@@ -271,6 +429,17 @@ module Polars
271
429
  # Retrieve the index of the maximum value in every sublist.
272
430
  #
273
431
  # @return [Series]
432
+ #
433
+ # @example
434
+ # s = Polars::Series.new("a", [[1, 2], [2, 1]])
435
+ # s.list.arg_max
436
+ # # =>
437
+ # # shape: (2,)
438
+ # # Series: 'a' [u32]
439
+ # # [
440
+ # # 1
441
+ # # 0
442
+ # # ]
274
443
  def arg_max
275
444
  super
276
445
  end