polars-df 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -173,7 +173,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
173
173
  null_count += 1
174
174
  }
175
175
  }
176
- Ok(Self::full_null(self.name(), self.len())
176
+ Ok(Self::full_null(self.name().clone(), self.len())
177
177
  .into_series()
178
178
  .into())
179
179
  }
@@ -190,13 +190,25 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
190
190
  .into_no_null_iter()
191
191
  .skip(init_null_count + skip)
192
192
  .map(|val| call_lambda(lambda, val).ok());
193
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
193
+ iterator_to_struct(
194
+ it,
195
+ init_null_count,
196
+ first_value,
197
+ self.name().clone(),
198
+ self.len(),
199
+ )
194
200
  } else {
195
201
  let it = self
196
202
  .into_iter()
197
203
  .skip(init_null_count + skip)
198
204
  .map(|opt_val| opt_val.and_then(|val| call_lambda(lambda, val).ok()));
199
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
205
+ iterator_to_struct(
206
+ it,
207
+ init_null_count,
208
+ first_value,
209
+ self.name().clone(),
210
+ self.len(),
211
+ )
200
212
  }
201
213
  }
202
214
 
@@ -212,7 +224,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
212
224
  {
213
225
  let skip = usize::from(first_value.is_some());
214
226
  if init_null_count == self.len() {
215
- Ok(ChunkedArray::full_null(self.name(), self.len()))
227
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
216
228
  } else if !self.has_nulls() {
217
229
  let it = self
218
230
  .into_no_null_iter()
@@ -222,7 +234,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
222
234
  it,
223
235
  init_null_count,
224
236
  first_value,
225
- self.name(),
237
+ self.name().clone(),
226
238
  self.len(),
227
239
  ))
228
240
  } else {
@@ -234,7 +246,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
234
246
  it,
235
247
  init_null_count,
236
248
  first_value,
237
- self.name(),
249
+ self.name().clone(),
238
250
  self.len(),
239
251
  ))
240
252
  }
@@ -248,7 +260,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
248
260
  ) -> RbResult<BooleanChunked> {
249
261
  let skip = usize::from(first_value.is_some());
250
262
  if init_null_count == self.len() {
251
- Ok(ChunkedArray::full_null(self.name(), self.len()))
263
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
252
264
  } else if !self.has_nulls() {
253
265
  let it = self
254
266
  .into_no_null_iter()
@@ -258,7 +270,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
258
270
  it,
259
271
  init_null_count,
260
272
  first_value,
261
- self.name(),
273
+ self.name().clone(),
262
274
  self.len(),
263
275
  ))
264
276
  } else {
@@ -270,7 +282,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
270
282
  it,
271
283
  init_null_count,
272
284
  first_value,
273
- self.name(),
285
+ self.name().clone(),
274
286
  self.len(),
275
287
  ))
276
288
  }
@@ -284,7 +296,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
284
296
  ) -> RbResult<StringChunked> {
285
297
  let skip = usize::from(first_value.is_some());
286
298
  if init_null_count == self.len() {
287
- Ok(ChunkedArray::full_null(self.name(), self.len()))
299
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
288
300
  } else if !self.has_nulls() {
289
301
  let it = self
290
302
  .into_no_null_iter()
@@ -295,7 +307,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
295
307
  it,
296
308
  init_null_count,
297
309
  first_value,
298
- self.name(),
310
+ self.name().clone(),
299
311
  self.len(),
300
312
  ))
301
313
  } else {
@@ -307,7 +319,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
307
319
  it,
308
320
  init_null_count,
309
321
  first_value,
310
- self.name(),
322
+ self.name().clone(),
311
323
  self.len(),
312
324
  ))
313
325
  }
@@ -322,7 +334,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
322
334
  ) -> RbResult<ListChunked> {
323
335
  let skip = 1;
324
336
  if init_null_count == self.len() {
325
- Ok(ChunkedArray::full_null(self.name(), self.len()))
337
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
326
338
  } else if !self.has_nulls() {
327
339
  let it = self
328
340
  .into_no_null_iter()
@@ -334,7 +346,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
334
346
  it,
335
347
  init_null_count,
336
348
  Some(first_value),
337
- self.name(),
349
+ self.name().clone(),
338
350
  self.len(),
339
351
  )
340
352
  } else {
@@ -347,7 +359,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
347
359
  it,
348
360
  init_null_count,
349
361
  Some(first_value),
350
- self.name(),
362
+ self.name().clone(),
351
363
  self.len(),
352
364
  )
353
365
  }
@@ -383,7 +395,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
383
395
  });
384
396
  avs.extend(iter);
385
397
  }
386
- Ok(Series::new(self.name(), &avs))
398
+ Ok(Series::new(self.name().clone(), &avs))
387
399
  }
388
400
 
389
401
  fn apply_lambda_with_object_out_type(
@@ -394,7 +406,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
394
406
  ) -> RbResult<ObjectChunked<ObjectValue>> {
395
407
  let skip = usize::from(first_value.is_some());
396
408
  if init_null_count == self.len() {
397
- Ok(ChunkedArray::full_null(self.name(), self.len()))
409
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
398
410
  } else if !self.has_nulls() {
399
411
  let it = self
400
412
  .into_no_null_iter()
@@ -405,7 +417,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
405
417
  it,
406
418
  init_null_count,
407
419
  first_value,
408
- self.name(),
420
+ self.name().clone(),
409
421
  self.len(),
410
422
  ))
411
423
  } else {
@@ -417,7 +429,7 @@ impl<'a> ApplyLambda<'a> for BooleanChunked {
417
429
  it,
418
430
  init_null_count,
419
431
  first_value,
420
- self.name(),
432
+ self.name().clone(),
421
433
  self.len(),
422
434
  ))
423
435
  }
@@ -445,7 +457,7 @@ where
445
457
  null_count += 1
446
458
  }
447
459
  }
448
- Ok(Self::full_null(self.name(), self.len())
460
+ Ok(Self::full_null(self.name().clone(), self.len())
449
461
  .into_series()
450
462
  .into())
451
463
  }
@@ -462,13 +474,25 @@ where
462
474
  .into_no_null_iter()
463
475
  .skip(init_null_count + skip)
464
476
  .map(|val| call_lambda(lambda, val).ok());
465
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
477
+ iterator_to_struct(
478
+ it,
479
+ init_null_count,
480
+ first_value,
481
+ self.name().clone(),
482
+ self.len(),
483
+ )
466
484
  } else {
467
485
  let it = self
468
486
  .into_iter()
469
487
  .skip(init_null_count + skip)
470
488
  .map(|opt_val| opt_val.and_then(|val| call_lambda(lambda, val).ok()));
471
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
489
+ iterator_to_struct(
490
+ it,
491
+ init_null_count,
492
+ first_value,
493
+ self.name().clone(),
494
+ self.len(),
495
+ )
472
496
  }
473
497
  }
474
498
 
@@ -484,7 +508,7 @@ where
484
508
  {
485
509
  let skip = usize::from(first_value.is_some());
486
510
  if init_null_count == self.len() {
487
- Ok(ChunkedArray::full_null(self.name(), self.len()))
511
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
488
512
  } else if !self.has_nulls() {
489
513
  let it = self
490
514
  .into_no_null_iter()
@@ -494,7 +518,7 @@ where
494
518
  it,
495
519
  init_null_count,
496
520
  first_value,
497
- self.name(),
521
+ self.name().clone(),
498
522
  self.len(),
499
523
  ))
500
524
  } else {
@@ -506,7 +530,7 @@ where
506
530
  it,
507
531
  init_null_count,
508
532
  first_value,
509
- self.name(),
533
+ self.name().clone(),
510
534
  self.len(),
511
535
  ))
512
536
  }
@@ -520,7 +544,7 @@ where
520
544
  ) -> RbResult<BooleanChunked> {
521
545
  let skip = usize::from(first_value.is_some());
522
546
  if init_null_count == self.len() {
523
- Ok(ChunkedArray::full_null(self.name(), self.len()))
547
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
524
548
  } else if !self.has_nulls() {
525
549
  let it = self
526
550
  .into_no_null_iter()
@@ -530,7 +554,7 @@ where
530
554
  it,
531
555
  init_null_count,
532
556
  first_value,
533
- self.name(),
557
+ self.name().clone(),
534
558
  self.len(),
535
559
  ))
536
560
  } else {
@@ -542,7 +566,7 @@ where
542
566
  it,
543
567
  init_null_count,
544
568
  first_value,
545
- self.name(),
569
+ self.name().clone(),
546
570
  self.len(),
547
571
  ))
548
572
  }
@@ -556,7 +580,7 @@ where
556
580
  ) -> RbResult<StringChunked> {
557
581
  let skip = usize::from(first_value.is_some());
558
582
  if init_null_count == self.len() {
559
- Ok(ChunkedArray::full_null(self.name(), self.len()))
583
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
560
584
  } else if !self.has_nulls() {
561
585
  let it = self
562
586
  .into_no_null_iter()
@@ -567,7 +591,7 @@ where
567
591
  it,
568
592
  init_null_count,
569
593
  first_value,
570
- self.name(),
594
+ self.name().clone(),
571
595
  self.len(),
572
596
  ))
573
597
  } else {
@@ -579,7 +603,7 @@ where
579
603
  it,
580
604
  init_null_count,
581
605
  first_value,
582
- self.name(),
606
+ self.name().clone(),
583
607
  self.len(),
584
608
  ))
585
609
  }
@@ -594,7 +618,7 @@ where
594
618
  ) -> RbResult<ListChunked> {
595
619
  let skip = 1;
596
620
  if init_null_count == self.len() {
597
- Ok(ChunkedArray::full_null(self.name(), self.len()))
621
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
598
622
  } else if !self.has_nulls() {
599
623
  let it = self
600
624
  .into_no_null_iter()
@@ -606,7 +630,7 @@ where
606
630
  it,
607
631
  init_null_count,
608
632
  Some(first_value),
609
- self.name(),
633
+ self.name().clone(),
610
634
  self.len(),
611
635
  )
612
636
  } else {
@@ -619,7 +643,7 @@ where
619
643
  it,
620
644
  init_null_count,
621
645
  Some(first_value),
622
- self.name(),
646
+ self.name().clone(),
623
647
  self.len(),
624
648
  )
625
649
  }
@@ -655,7 +679,7 @@ where
655
679
  });
656
680
  avs.extend(iter);
657
681
  }
658
- Ok(Series::new(self.name(), &avs))
682
+ Ok(Series::new(self.name().clone(), &avs))
659
683
  }
660
684
 
661
685
  fn apply_lambda_with_object_out_type(
@@ -666,7 +690,7 @@ where
666
690
  ) -> RbResult<ObjectChunked<ObjectValue>> {
667
691
  let skip = usize::from(first_value.is_some());
668
692
  if init_null_count == self.len() {
669
- Ok(ChunkedArray::full_null(self.name(), self.len()))
693
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
670
694
  } else if !self.has_nulls() {
671
695
  let it = self
672
696
  .into_no_null_iter()
@@ -677,7 +701,7 @@ where
677
701
  it,
678
702
  init_null_count,
679
703
  first_value,
680
- self.name(),
704
+ self.name().clone(),
681
705
  self.len(),
682
706
  ))
683
707
  } else {
@@ -689,7 +713,7 @@ where
689
713
  it,
690
714
  init_null_count,
691
715
  first_value,
692
- self.name(),
716
+ self.name().clone(),
693
717
  self.len(),
694
718
  ))
695
719
  }
@@ -712,7 +736,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
712
736
  null_count += 1
713
737
  }
714
738
  }
715
- Ok(Self::full_null(self.name(), self.len())
739
+ Ok(Self::full_null(self.name().clone(), self.len())
716
740
  .into_series()
717
741
  .into())
718
742
  }
@@ -729,13 +753,25 @@ impl<'a> ApplyLambda<'a> for StringChunked {
729
753
  .into_no_null_iter()
730
754
  .skip(init_null_count + skip)
731
755
  .map(|val| call_lambda(lambda, val).ok());
732
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
756
+ iterator_to_struct(
757
+ it,
758
+ init_null_count,
759
+ first_value,
760
+ self.name().clone(),
761
+ self.len(),
762
+ )
733
763
  } else {
734
764
  let it = self
735
765
  .into_iter()
736
766
  .skip(init_null_count + skip)
737
767
  .map(|opt_val| opt_val.and_then(|val| call_lambda(lambda, val).ok()));
738
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
768
+ iterator_to_struct(
769
+ it,
770
+ init_null_count,
771
+ first_value,
772
+ self.name().clone(),
773
+ self.len(),
774
+ )
739
775
  }
740
776
  }
741
777
 
@@ -751,7 +787,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
751
787
  {
752
788
  let skip = usize::from(first_value.is_some());
753
789
  if init_null_count == self.len() {
754
- Ok(ChunkedArray::full_null(self.name(), self.len()))
790
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
755
791
  } else if !self.has_nulls() {
756
792
  let it = self
757
793
  .into_no_null_iter()
@@ -761,7 +797,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
761
797
  it,
762
798
  init_null_count,
763
799
  first_value,
764
- self.name(),
800
+ self.name().clone(),
765
801
  self.len(),
766
802
  ))
767
803
  } else {
@@ -773,7 +809,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
773
809
  it,
774
810
  init_null_count,
775
811
  first_value,
776
- self.name(),
812
+ self.name().clone(),
777
813
  self.len(),
778
814
  ))
779
815
  }
@@ -787,7 +823,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
787
823
  ) -> RbResult<BooleanChunked> {
788
824
  let skip = usize::from(first_value.is_some());
789
825
  if init_null_count == self.len() {
790
- Ok(ChunkedArray::full_null(self.name(), self.len()))
826
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
791
827
  } else if !self.has_nulls() {
792
828
  let it = self
793
829
  .into_no_null_iter()
@@ -797,7 +833,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
797
833
  it,
798
834
  init_null_count,
799
835
  first_value,
800
- self.name(),
836
+ self.name().clone(),
801
837
  self.len(),
802
838
  ))
803
839
  } else {
@@ -809,7 +845,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
809
845
  it,
810
846
  init_null_count,
811
847
  first_value,
812
- self.name(),
848
+ self.name().clone(),
813
849
  self.len(),
814
850
  ))
815
851
  }
@@ -823,7 +859,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
823
859
  ) -> RbResult<StringChunked> {
824
860
  let skip = usize::from(first_value.is_some());
825
861
  if init_null_count == self.len() {
826
- Ok(ChunkedArray::full_null(self.name(), self.len()))
862
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
827
863
  } else if !self.has_nulls() {
828
864
  let it = self
829
865
  .into_no_null_iter()
@@ -834,7 +870,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
834
870
  it,
835
871
  init_null_count,
836
872
  first_value,
837
- self.name(),
873
+ self.name().clone(),
838
874
  self.len(),
839
875
  ))
840
876
  } else {
@@ -846,7 +882,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
846
882
  it,
847
883
  init_null_count,
848
884
  first_value,
849
- self.name(),
885
+ self.name().clone(),
850
886
  self.len(),
851
887
  ))
852
888
  }
@@ -861,7 +897,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
861
897
  ) -> RbResult<ListChunked> {
862
898
  let skip = 1;
863
899
  if init_null_count == self.len() {
864
- Ok(ChunkedArray::full_null(self.name(), self.len()))
900
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
865
901
  } else if !self.has_nulls() {
866
902
  let it = self
867
903
  .into_no_null_iter()
@@ -873,7 +909,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
873
909
  it,
874
910
  init_null_count,
875
911
  Some(first_value),
876
- self.name(),
912
+ self.name().clone(),
877
913
  self.len(),
878
914
  )
879
915
  } else {
@@ -886,7 +922,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
886
922
  it,
887
923
  init_null_count,
888
924
  Some(first_value),
889
- self.name(),
925
+ self.name().clone(),
890
926
  self.len(),
891
927
  )
892
928
  }
@@ -922,7 +958,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
922
958
  });
923
959
  avs.extend(iter);
924
960
  }
925
- Ok(Series::new(self.name(), &avs))
961
+ Ok(Series::new(self.name().clone(), &avs))
926
962
  }
927
963
 
928
964
  fn apply_lambda_with_object_out_type(
@@ -933,7 +969,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
933
969
  ) -> RbResult<ObjectChunked<ObjectValue>> {
934
970
  let skip = usize::from(first_value.is_some());
935
971
  if init_null_count == self.len() {
936
- Ok(ChunkedArray::full_null(self.name(), self.len()))
972
+ Ok(ChunkedArray::full_null(self.name().clone(), self.len()))
937
973
  } else if !self.has_nulls() {
938
974
  let it = self
939
975
  .into_no_null_iter()
@@ -944,7 +980,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
944
980
  it,
945
981
  init_null_count,
946
982
  first_value,
947
- self.name(),
983
+ self.name().clone(),
948
984
  self.len(),
949
985
  ))
950
986
  } else {
@@ -956,7 +992,7 @@ impl<'a> ApplyLambda<'a> for StringChunked {
956
992
  it,
957
993
  init_null_count,
958
994
  first_value,
959
- self.name(),
995
+ self.name().clone(),
960
996
  self.len(),
961
997
  ))
962
998
  }
@@ -995,7 +1031,13 @@ impl<'a> ApplyLambda<'a> for StructChunked {
995
1031
  let out = lambda.funcall("call", (Wrap(val),)).unwrap();
996
1032
  Some(out)
997
1033
  });
998
- iterator_to_struct(it, init_null_count, first_value, self.name(), self.len())
1034
+ iterator_to_struct(
1035
+ it,
1036
+ init_null_count,
1037
+ first_value,
1038
+ self.name().clone(),
1039
+ self.len(),
1040
+ )
999
1041
  }
1000
1042
 
1001
1043
  fn apply_lambda_with_primitive_out_type<D>(
@@ -1017,7 +1059,7 @@ impl<'a> ApplyLambda<'a> for StructChunked {
1017
1059
  it,
1018
1060
  init_null_count,
1019
1061
  first_value,
1020
- self.name(),
1062
+ self.name().clone(),
1021
1063
  self.len(),
1022
1064
  ))
1023
1065
  }
@@ -1037,7 +1079,7 @@ impl<'a> ApplyLambda<'a> for StructChunked {
1037
1079
  it,
1038
1080
  init_null_count,
1039
1081
  first_value,
1040
- self.name(),
1082
+ self.name().clone(),
1041
1083
  self.len(),
1042
1084
  ))
1043
1085
  }
@@ -1057,7 +1099,7 @@ impl<'a> ApplyLambda<'a> for StructChunked {
1057
1099
  it,
1058
1100
  init_null_count,
1059
1101
  first_value,
1060
- self.name(),
1102
+ self.name().clone(),
1061
1103
  self.len(),
1062
1104
  ))
1063
1105
  }
@@ -1078,7 +1120,7 @@ impl<'a> ApplyLambda<'a> for StructChunked {
1078
1120
  it,
1079
1121
  init_null_count,
1080
1122
  Some(first_value),
1081
- self.name(),
1123
+ self.name().clone(),
1082
1124
  self.len(),
1083
1125
  )
1084
1126
  }
@@ -1100,7 +1142,7 @@ impl<'a> ApplyLambda<'a> for StructChunked {
1100
1142
  });
1101
1143
  avs.extend(iter);
1102
1144
 
1103
- Ok(Series::new(self.name(), &avs))
1145
+ Ok(Series::new(self.name().clone(), &avs))
1104
1146
  }
1105
1147
 
1106
1148
  fn apply_lambda_with_object_out_type(
@@ -1118,7 +1160,7 @@ impl<'a> ApplyLambda<'a> for StructChunked {
1118
1160
  it,
1119
1161
  init_null_count,
1120
1162
  first_value,
1121
- self.name(),
1163
+ self.name().clone(),
1122
1164
  self.len(),
1123
1165
  ))
1124
1166
  }
@@ -13,7 +13,7 @@ use crate::Wrap;
13
13
 
14
14
  pub(crate) fn register_object_builder() {
15
15
  if !registry::is_object_builder_registered() {
16
- let object_builder = Box::new(|name: &str, capacity: usize| {
16
+ let object_builder = Box::new(|name: PlSmallStr, capacity: usize| {
17
17
  Box::new(ObjectChunkedBuilder::<ObjectValue>::new(name, capacity))
18
18
  as Box<dyn AnonymousObjectBuilder>
19
19
  });