polars-df 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/Cargo.lock +284 -216
  4. data/ext/polars/Cargo.toml +7 -4
  5. data/ext/polars/src/batched_csv.rs +2 -3
  6. data/ext/polars/src/conversion.rs +18 -17
  7. data/ext/polars/src/dataframe.rs +27 -63
  8. data/ext/polars/src/expr/categorical.rs +8 -1
  9. data/ext/polars/src/expr/general.rs +63 -4
  10. data/ext/polars/src/expr/rolling.rs +15 -10
  11. data/ext/polars/src/expr/string.rs +9 -9
  12. data/ext/polars/src/functions/range.rs +5 -10
  13. data/ext/polars/src/lazyframe.rs +28 -19
  14. data/ext/polars/src/lib.rs +20 -20
  15. data/ext/polars/src/map/dataframe.rs +1 -1
  16. data/ext/polars/src/map/mod.rs +2 -2
  17. data/ext/polars/src/map/series.rs +6 -6
  18. data/ext/polars/src/object.rs +0 -30
  19. data/ext/polars/src/on_startup.rs +32 -0
  20. data/ext/polars/src/series/aggregation.rs +3 -0
  21. data/ext/polars/src/series/construction.rs +1 -1
  22. data/ext/polars/src/series/export.rs +2 -2
  23. data/ext/polars/src/{series.rs → series/mod.rs} +21 -18
  24. data/ext/polars/src/series/{set_at_idx.rs → scatter.rs} +18 -18
  25. data/ext/polars/src/utils.rs +1 -1
  26. data/lib/polars/data_frame.rb +69 -65
  27. data/lib/polars/data_types.rb +4 -1
  28. data/lib/polars/date_time_expr.rb +10 -10
  29. data/lib/polars/date_time_name_space.rb +12 -12
  30. data/lib/polars/expr.rb +223 -18
  31. data/lib/polars/group_by.rb +1 -1
  32. data/lib/polars/io.rb +4 -4
  33. data/lib/polars/lazy_frame.rb +23 -23
  34. data/lib/polars/lazy_functions.rb +4 -20
  35. data/lib/polars/series.rb +289 -30
  36. data/lib/polars/sql_context.rb +1 -1
  37. data/lib/polars/struct_expr.rb +1 -1
  38. data/lib/polars/struct_name_space.rb +1 -1
  39. data/lib/polars/utils.rb +13 -13
  40. data/lib/polars/version.rb +1 -1
  41. metadata +7 -6
@@ -119,10 +119,10 @@ module Polars
119
119
 
120
120
  processed_null_values = Utils._process_null_values(null_values)
121
121
 
122
- if columns.is_a?(String)
122
+ if columns.is_a?(::String)
123
123
  columns = [columns]
124
124
  end
125
- if file.is_a?(String) && file.include?("*")
125
+ if file.is_a?(::String) && file.include?("*")
126
126
  dtypes_dict = nil
127
127
  if !dtype_list.nil?
128
128
  dtypes_dict = dtype_list.to_h
@@ -206,11 +206,11 @@ module Polars
206
206
  if Utils.pathlike?(source)
207
207
  source = Utils.normalise_filepath(source)
208
208
  end
209
- if columns.is_a?(String)
209
+ if columns.is_a?(::String)
210
210
  columns = [columns]
211
211
  end
212
212
 
213
- if source.is_a?(String) && source.include?("*") && Utils.local_file?(source)
213
+ if source.is_a?(::String) && source.include?("*") && Utils.local_file?(source)
214
214
  scan =
215
215
  Polars.scan_parquet(
216
216
  source,
@@ -269,11 +269,11 @@ module Polars
269
269
  if Utils.pathlike?(file)
270
270
  file = Utils.normalise_filepath(file)
271
271
  end
272
- if columns.is_a?(String)
272
+ if columns.is_a?(::String)
273
273
  columns = [columns]
274
274
  end
275
275
 
276
- if file.is_a?(String) && file.include?("*")
276
+ if file.is_a?(::String) && file.include?("*")
277
277
  raise Todo
278
278
  end
279
279
 
@@ -411,7 +411,7 @@ module Polars
411
411
  # }
412
412
  # )
413
413
  # df.dtypes
414
- # # => [Polars::Int64, Polars::Float64, Polars::Utf8]
414
+ # # => [Polars::Int64, Polars::Float64, Polars::String]
415
415
  def dtypes
416
416
  _df.dtypes
417
417
  end
@@ -429,7 +429,7 @@ module Polars
429
429
  # }
430
430
  # )
431
431
  # df.schema
432
- # # => {"foo"=>Polars::Int64, "bar"=>Polars::Float64, "ham"=>Polars::Utf8}
432
+ # # => {"foo"=>Polars::Int64, "bar"=>Polars::Float64, "ham"=>Polars::String}
433
433
  def schema
434
434
  columns.zip(dtypes).to_h
435
435
  end
@@ -589,13 +589,13 @@ module Polars
589
589
  return df.slice(row_selection, 1)
590
590
  end
591
591
  # df[2, "a"]
592
- if col_selection.is_a?(String) || col_selection.is_a?(Symbol)
592
+ if col_selection.is_a?(::String) || col_selection.is_a?(Symbol)
593
593
  return self[col_selection][row_selection]
594
594
  end
595
595
  end
596
596
 
597
597
  # column selection can be "a" and ["a", "b"]
598
- if col_selection.is_a?(String) || col_selection.is_a?(Symbol)
598
+ if col_selection.is_a?(::String) || col_selection.is_a?(Symbol)
599
599
  col_selection = [col_selection]
600
600
  end
601
601
 
@@ -621,7 +621,7 @@ module Polars
621
621
 
622
622
  # select single column
623
623
  # df["foo"]
624
- if item.is_a?(String) || item.is_a?(Symbol)
624
+ if item.is_a?(::String) || item.is_a?(Symbol)
625
625
  return Utils.wrap_s(_df.column(item.to_s))
626
626
  end
627
627
 
@@ -647,7 +647,7 @@ module Polars
647
647
 
648
648
  if item.is_a?(Series)
649
649
  dtype = item.dtype
650
- if dtype == Utf8
650
+ if dtype == String
651
651
  return _from_rbdf(_df.select(item))
652
652
  elsif dtype == UInt32
653
653
  return _from_rbdf(_df.take_with_series(item._s))
@@ -698,7 +698,7 @@ module Polars
698
698
  s[row_selection] = value
699
699
 
700
700
  if col_selection.is_a?(Integer)
701
- replace_at_idx(col_selection, s)
701
+ replace_column(col_selection, s)
702
702
  elsif Utils.strlike?(col_selection)
703
703
  replace(col_selection, s)
704
704
  end
@@ -1222,7 +1222,7 @@ module Polars
1222
1222
  # @example
1223
1223
  # df = Polars::DataFrame.new({"foo" => [1, 2, 3], "bar" => [4, 5, 6]})
1224
1224
  # s = Polars::Series.new("baz", [97, 98, 99])
1225
- # df.insert_at_idx(1, s)
1225
+ # df.insert_column(1, s)
1226
1226
  # # =>
1227
1227
  # # shape: (3, 3)
1228
1228
  # # ┌─────┬─────┬─────┐
@@ -1244,7 +1244,7 @@ module Polars
1244
1244
  # }
1245
1245
  # )
1246
1246
  # s = Polars::Series.new("d", [-2.5, 15, 20.5, 0])
1247
- # df.insert_at_idx(3, s)
1247
+ # df.insert_column(3, s)
1248
1248
  # # =>
1249
1249
  # # shape: (4, 4)
1250
1250
  # # ┌─────┬──────┬───────┬──────┐
@@ -1257,13 +1257,14 @@ module Polars
1257
1257
  # # │ 3 ┆ 10.0 ┆ false ┆ 20.5 │
1258
1258
  # # │ 4 ┆ 13.0 ┆ true ┆ 0.0 │
1259
1259
  # # └─────┴──────┴───────┴──────┘
1260
- def insert_at_idx(index, series)
1260
+ def insert_column(index, series)
1261
1261
  if index < 0
1262
1262
  index = columns.length + index
1263
1263
  end
1264
- _df.insert_at_idx(index, series._s)
1264
+ _df.insert_column(index, series._s)
1265
1265
  self
1266
1266
  end
1267
+ alias_method :insert_at_idx, :insert_column
1267
1268
 
1268
1269
  # Filter the rows in the DataFrame based on a predicate expression.
1269
1270
  #
@@ -1367,7 +1368,7 @@ module Polars
1367
1368
  ]
1368
1369
  )._df
1369
1370
  )
1370
- summary.insert_at_idx(
1371
+ summary.insert_column(
1371
1372
  0,
1372
1373
  Polars::Series.new(
1373
1374
  "describe",
@@ -1388,11 +1389,12 @@ module Polars
1388
1389
  # df = Polars::DataFrame.new(
1389
1390
  # {"foo" => [1, 2, 3], "bar" => [6, 7, 8], "ham" => ["a", "b", "c"]}
1390
1391
  # )
1391
- # df.find_idx_by_name("ham")
1392
+ # df.get_column_index("ham")
1392
1393
  # # => 2
1393
- def find_idx_by_name(name)
1394
- _df.find_idx_by_name(name)
1394
+ def get_column_index(name)
1395
+ _df.get_column_index(name)
1395
1396
  end
1397
+ alias_method :find_idx_by_name, :get_column_index
1396
1398
 
1397
1399
  # Replace a column at an index location.
1398
1400
  #
@@ -1412,7 +1414,7 @@ module Polars
1412
1414
  # }
1413
1415
  # )
1414
1416
  # s = Polars::Series.new("apple", [10, 20, 30])
1415
- # df.replace_at_idx(0, s)
1417
+ # df.replace_column(0, s)
1416
1418
  # # =>
1417
1419
  # # shape: (3, 3)
1418
1420
  # # ┌───────┬─────┬─────┐
@@ -1424,13 +1426,14 @@ module Polars
1424
1426
  # # │ 20 ┆ 7 ┆ b │
1425
1427
  # # │ 30 ┆ 8 ┆ c │
1426
1428
  # # └───────┴─────┴─────┘
1427
- def replace_at_idx(index, series)
1429
+ def replace_column(index, series)
1428
1430
  if index < 0
1429
1431
  index = columns.length + index
1430
1432
  end
1431
- _df.replace_at_idx(index, series._s)
1433
+ _df.replace_column(index, series._s)
1432
1434
  self
1433
1435
  end
1436
+ alias_method :replace_at_idx, :replace_column
1434
1437
 
1435
1438
  # Sort the DataFrame by column.
1436
1439
  #
@@ -1524,13 +1527,14 @@ module Polars
1524
1527
  # "ham" => ["c", "b", "a"]
1525
1528
  # }
1526
1529
  # )
1527
- # df1.frame_equal(df1)
1530
+ # df1.equals(df1)
1528
1531
  # # => true
1529
- # df1.frame_equal(df2)
1532
+ # df1.equals(df2)
1530
1533
  # # => false
1531
- def frame_equal(other, null_equal: true)
1532
- _df.frame_equal(other._df, null_equal)
1534
+ def equals(other, null_equal: true)
1535
+ _df.equals(other._df, null_equal)
1533
1536
  end
1537
+ alias_method :frame_equal, :equals
1534
1538
 
1535
1539
  # Replace a column by a new Series.
1536
1540
  #
@@ -1716,7 +1720,7 @@ module Polars
1716
1720
  # # │ 3 ┆ 8 ┆ c │
1717
1721
  # # └─────┴─────┴─────┘
1718
1722
  def drop_nulls(subset: nil)
1719
- if subset.is_a?(String)
1723
+ if subset.is_a?(::String)
1720
1724
  subset = [subset]
1721
1725
  end
1722
1726
  _from_rbdf(_df.drop_nulls(subset))
@@ -2267,7 +2271,7 @@ module Polars
2267
2271
  if by.nil?
2268
2272
  by = []
2269
2273
  end
2270
- if by.is_a?(String)
2274
+ if by.is_a?(::String)
2271
2275
  by = [by]
2272
2276
  end
2273
2277
  if offset.nil?
@@ -2461,17 +2465,17 @@ module Polars
2461
2465
  # @example
2462
2466
  # df.join(other_df, on: "ham", how: "outer")
2463
2467
  # # =>
2464
- # # shape: (4, 4)
2465
- # # ┌──────┬──────┬─────┬───────┐
2466
- # # │ foo ┆ bar ┆ ham ┆ apple │
2467
- # # │ --- ┆ --- ┆ --- ┆ ---
2468
- # # │ i64 ┆ f64 ┆ str ┆ str
2469
- # # ╞══════╪══════╪═════╪═══════╡
2470
- # # │ 1 ┆ 6.0 ┆ a ┆ x │
2471
- # # │ 2 ┆ 7.0 ┆ b ┆ y │
2472
- # # │ null ┆ null ┆ d ┆ z │
2473
- # # │ 3 ┆ 8.0 ┆ c ┆ null │
2474
- # # └──────┴──────┴─────┴───────┘
2468
+ # # shape: (4, 5)
2469
+ # # ┌──────┬──────┬──────┬───────┬───────────┐
2470
+ # # │ foo ┆ bar ┆ ham ┆ apple ┆ ham_right
2471
+ # # │ --- ┆ --- ┆ --- --- ┆ ---
2472
+ # # │ i64 ┆ f64 ┆ str str ┆ str
2473
+ # # ╞══════╪══════╪══════╪═══════╪═══════════╡
2474
+ # # │ 1 ┆ 6.0 ┆ a ┆ x ┆ a
2475
+ # # │ 2 ┆ 7.0 ┆ b ┆ y ┆ b
2476
+ # # │ null ┆ null ┆ null ┆ z ┆ d
2477
+ # # │ 3 ┆ 8.0 ┆ c ┆ null ┆ null
2478
+ # # └──────┴──────┴──────┴───────┴───────────┘
2475
2479
  #
2476
2480
  # @example
2477
2481
  # df.join(other_df, on: "ham", how: "left")
@@ -3111,17 +3115,17 @@ module Polars
3111
3115
  sort_columns: false,
3112
3116
  separator: "_"
3113
3117
  )
3114
- if values.is_a?(String)
3118
+ if values.is_a?(::String)
3115
3119
  values = [values]
3116
3120
  end
3117
- if index.is_a?(String)
3121
+ if index.is_a?(::String)
3118
3122
  index = [index]
3119
3123
  end
3120
- if columns.is_a?(String)
3124
+ if columns.is_a?(::String)
3121
3125
  columns = [columns]
3122
3126
  end
3123
3127
 
3124
- if aggregate_fn.is_a?(String)
3128
+ if aggregate_fn.is_a?(::String)
3125
3129
  case aggregate_fn
3126
3130
  when "first"
3127
3131
  aggregate_expr = Polars.element.first._rbexpr
@@ -3206,10 +3210,10 @@ module Polars
3206
3210
  # # │ z ┆ c ┆ 6 │
3207
3211
  # # └─────┴──────────┴───────┘
3208
3212
  def melt(id_vars: nil, value_vars: nil, variable_name: nil, value_name: nil)
3209
- if value_vars.is_a?(String)
3213
+ if value_vars.is_a?(::String)
3210
3214
  value_vars = [value_vars]
3211
3215
  end
3212
- if id_vars.is_a?(String)
3216
+ if id_vars.is_a?(::String)
3213
3217
  id_vars = [id_vars]
3214
3218
  end
3215
3219
  if value_vars.nil?
@@ -3423,7 +3427,7 @@ module Polars
3423
3427
  # # │ C ┆ 2 ┆ l │
3424
3428
  # # └─────┴─────┴─────┘}
3425
3429
  def partition_by(groups, maintain_order: true, include_key: true, as_dict: false)
3426
- if groups.is_a?(String)
3430
+ if groups.is_a?(::String)
3427
3431
  groups = [groups]
3428
3432
  elsif !groups.is_a?(::Array)
3429
3433
  groups = Array(groups)
@@ -3774,7 +3778,7 @@ module Polars
3774
3778
  # # └─────┴─────┴─────┘
3775
3779
  def max(axis: 0)
3776
3780
  if axis == 0
3777
- _from_rbdf(_df.max)
3781
+ lazy.max.collect(_eager: true)
3778
3782
  elsif axis == 1
3779
3783
  Utils.wrap_s(_df.max_horizontal)
3780
3784
  else
@@ -3806,7 +3810,7 @@ module Polars
3806
3810
  # # └─────┴─────┴─────┘
3807
3811
  def min(axis: 0)
3808
3812
  if axis == 0
3809
- _from_rbdf(_df.min)
3813
+ lazy.min.collect(_eager: true)
3810
3814
  elsif axis == 1
3811
3815
  Utils.wrap_s(_df.min_horizontal)
3812
3816
  else
@@ -3855,7 +3859,7 @@ module Polars
3855
3859
  def sum(axis: 0, null_strategy: "ignore")
3856
3860
  case axis
3857
3861
  when 0
3858
- _from_rbdf(_df.sum)
3862
+ lazy.sum.collect(_eager: true)
3859
3863
  when 1
3860
3864
  Utils.wrap_s(_df.sum_horizontal(null_strategy))
3861
3865
  else
@@ -3893,7 +3897,7 @@ module Polars
3893
3897
  def mean(axis: 0, null_strategy: "ignore")
3894
3898
  case axis
3895
3899
  when 0
3896
- _from_rbdf(_df.mean)
3900
+ lazy.mean.collect(_eager: true)
3897
3901
  when 1
3898
3902
  Utils.wrap_s(_df.mean_horizontal(null_strategy))
3899
3903
  else
@@ -3939,7 +3943,7 @@ module Polars
3939
3943
  # # │ 0.816497 ┆ 0.816497 ┆ null │
3940
3944
  # # └──────────┴──────────┴──────┘
3941
3945
  def std(ddof: 1)
3942
- _from_rbdf(_df.std(ddof))
3946
+ lazy.std(ddof: ddof).collect(_eager: true)
3943
3947
  end
3944
3948
 
3945
3949
  # Aggregate the columns of this DataFrame to their variance value.
@@ -3980,7 +3984,7 @@ module Polars
3980
3984
  # # │ 0.666667 ┆ 0.666667 ┆ null │
3981
3985
  # # └──────────┴──────────┴──────┘
3982
3986
  def var(ddof: 1)
3983
- _from_rbdf(_df.var(ddof))
3987
+ lazy.var(ddof: ddof).collect(_eager: true)
3984
3988
  end
3985
3989
 
3986
3990
  # Aggregate the columns of this DataFrame to their median value.
@@ -4006,7 +4010,7 @@ module Polars
4006
4010
  # # │ 2.0 ┆ 7.0 ┆ null │
4007
4011
  # # └─────┴─────┴──────┘
4008
4012
  def median
4009
- _from_rbdf(_df.median)
4013
+ lazy.median.collect(_eager: true)
4010
4014
  end
4011
4015
 
4012
4016
  # Aggregate the columns of this DataFrame to their product values.
@@ -4063,7 +4067,7 @@ module Polars
4063
4067
  # # │ 2.0 ┆ 7.0 ┆ null │
4064
4068
  # # └─────┴─────┴──────┘
4065
4069
  def quantile(quantile, interpolation: "nearest")
4066
- _from_rbdf(_df.quantile(quantile, interpolation))
4070
+ lazy.quantile(quantile, interpolation: interpolation).collect(_eager: true)
4067
4071
  end
4068
4072
 
4069
4073
  # Get one hot encoded dummy variables.
@@ -4094,7 +4098,7 @@ module Polars
4094
4098
  # # │ 0 ┆ 1 ┆ 0 ┆ 1 ┆ 0 ┆ 1 │
4095
4099
  # # └───────┴───────┴───────┴───────┴───────┴───────┘
4096
4100
  def to_dummies(columns: nil, separator: "_", drop_first: false)
4097
- if columns.is_a?(String)
4101
+ if columns.is_a?(::String)
4098
4102
  columns = [columns]
4099
4103
  end
4100
4104
  _from_rbdf(_df.to_dummies(columns, separator, drop_first))
@@ -4603,8 +4607,8 @@ module Polars
4603
4607
  # # │ 1 ┆ 5 │
4604
4608
  # # │ 3 ┆ 7 │
4605
4609
  # # └─────┴─────┘
4606
- def gather_every(n)
4607
- select(Utils.col("*").gather_every(n))
4610
+ def gather_every(n, offset = 0)
4611
+ select(Utils.col("*").gather_every(n, offset))
4608
4612
  end
4609
4613
  alias_method :take_every, :gather_every
4610
4614
 
@@ -4754,7 +4758,7 @@ module Polars
4754
4758
  # # │ bar ┆ 2 ┆ b ┆ null ┆ [3] ┆ womp │
4755
4759
  # # └────────┴─────┴─────┴──────┴───────────┴───────┘
4756
4760
  def unnest(names)
4757
- if names.is_a?(String)
4761
+ if names.is_a?(::String)
4758
4762
  names = [names]
4759
4763
  end
4760
4764
  _from_rbdf(_df.unnest(names))
@@ -4867,10 +4871,10 @@ module Polars
4867
4871
  if val.is_a?(Hash) && dtype != Struct
4868
4872
  updated_data[name] = DataFrame.new(val).to_struct(name)
4869
4873
  elsif !Utils.arrlen(val).nil?
4870
- updated_data[name] = Series.new(String.new(name), val, dtype: dtype)
4871
- elsif val.nil? || [Integer, Float, TrueClass, FalseClass, String, ::Date, ::DateTime, ::Time].any? { |cls| val.is_a?(cls) }
4874
+ updated_data[name] = Series.new(::String.new(name), val, dtype: dtype)
4875
+ elsif val.nil? || [Integer, Float, TrueClass, FalseClass, ::String, ::Date, ::DateTime, ::Time].any? { |cls| val.is_a?(cls) }
4872
4876
  dtype = Polars::Float64 if val.nil? && dtype.nil?
4873
- updated_data[name] = Series.new(String.new(name), [val], dtype: dtype).extend_constant(val, array_len - 1)
4877
+ updated_data[name] = Series.new(::String.new(name), [val], dtype: dtype).extend_constant(val, array_len - 1)
4874
4878
  else
4875
4879
  raise Todo
4876
4880
  end
@@ -4927,7 +4931,7 @@ module Polars
4927
4931
  end
4928
4932
  column_names =
4929
4933
  (schema || []).map.with_index do |col, i|
4930
- if col.is_a?(String)
4934
+ if col.is_a?(::String)
4931
4935
  col || "column_#{i}"
4932
4936
  else
4933
4937
  col[0]
@@ -4940,7 +4944,7 @@ module Polars
4940
4944
  lookup = column_names.zip(lookup_names || []).to_h
4941
4945
 
4942
4946
  column_dtypes =
4943
- (schema || []).select { |col| !col.is_a?(String) && col[1] }.to_h do |col|
4947
+ (schema || []).select { |col| !col.is_a?(::String) && col[1] }.to_h do |col|
4944
4948
  [lookup[col[0]] || col[0], col[1]]
4945
4949
  end
4946
4950
 
@@ -120,9 +120,12 @@ module Polars
120
120
  end
121
121
 
122
122
  # UTF-8 encoded string type.
123
- class Utf8 < DataType
123
+ class String < DataType
124
124
  end
125
125
 
126
+ # Allow Utf8 as an alias for String
127
+ Utf8 = String
128
+
126
129
  # Binary type.
127
130
  class Binary < DataType
128
131
  end
@@ -365,7 +365,7 @@ module Polars
365
365
  # # ┌──────┐
366
366
  # # │ date │
367
367
  # # │ --- │
368
- # # │ u32
368
+ # # │ i8
369
369
  # # ╞══════╡
370
370
  # # │ 1 │
371
371
  # # │ 2 │
@@ -407,7 +407,7 @@ module Polars
407
407
  # # ┌──────┐
408
408
  # # │ date │
409
409
  # # │ --- │
410
- # # │ u32
410
+ # # │ i8
411
411
  # # ╞══════╡
412
412
  # # │ 1 │
413
413
  # # │ 2 │
@@ -449,7 +449,7 @@ module Polars
449
449
  # # ┌──────┐
450
450
  # # │ date │
451
451
  # # │ --- │
452
- # # │ u32
452
+ # # │ i8
453
453
  # # ╞══════╡
454
454
  # # │ 1 │
455
455
  # # │ 5 │
@@ -496,7 +496,7 @@ module Polars
496
496
  # # ┌─────────┬──────────────┬─────────────┐
497
497
  # # │ weekday ┆ day_of_month ┆ day_of_year │
498
498
  # # │ --- ┆ --- ┆ --- │
499
- # # │ u32 u32 u32
499
+ # # │ i8 i8 i16
500
500
  # # ╞═════════╪══════════════╪═════════════╡
501
501
  # # │ 1 ┆ 1 ┆ 1 │
502
502
  # # │ 4 ┆ 4 ┆ 4 │
@@ -544,7 +544,7 @@ module Polars
544
544
  # # ┌─────────┬──────────────┬─────────────┐
545
545
  # # │ weekday ┆ day_of_month ┆ day_of_year │
546
546
  # # │ --- ┆ --- ┆ --- │
547
- # # │ u32 u32 u32
547
+ # # │ i8 i8 i16
548
548
  # # ╞═════════╪══════════════╪═════════════╡
549
549
  # # │ 1 ┆ 1 ┆ 1 │
550
550
  # # │ 4 ┆ 4 ┆ 4 │
@@ -592,7 +592,7 @@ module Polars
592
592
  # # ┌─────────┬──────────────┬─────────────┐
593
593
  # # │ weekday ┆ day_of_month ┆ day_of_year │
594
594
  # # │ --- ┆ --- ┆ --- │
595
- # # │ u32 u32 u32
595
+ # # │ i8 i8 i16
596
596
  # # ╞═════════╪══════════════╪═════════════╡
597
597
  # # │ 1 ┆ 1 ┆ 1 │
598
598
  # # │ 4 ┆ 4 ┆ 4 │
@@ -654,7 +654,7 @@ module Polars
654
654
  # # ┌──────┐
655
655
  # # │ date │
656
656
  # # │ --- │
657
- # # │ u32
657
+ # # │ i8
658
658
  # # ╞══════╡
659
659
  # # │ 0 │
660
660
  # # │ 12 │
@@ -695,7 +695,7 @@ module Polars
695
695
  # # ┌──────┐
696
696
  # # │ date │
697
697
  # # │ --- │
698
- # # │ u32
698
+ # # │ i8
699
699
  # # ╞══════╡
700
700
  # # │ 0 │
701
701
  # # │ 2 │
@@ -744,7 +744,7 @@ module Polars
744
744
  # # ┌──────┐
745
745
  # # │ secs │
746
746
  # # │ --- │
747
- # # │ u32
747
+ # # │ i8
748
748
  # # ╞══════╡
749
749
  # # │ 0 │
750
750
  # # │ 3 │
@@ -789,7 +789,7 @@ module Polars
789
789
  # # ┌──────┐
790
790
  # # │ date │
791
791
  # # │ --- │
792
- # # │ u32
792
+ # # │ i8
793
793
  # # ╞══════╡
794
794
  # # │ 0 │
795
795
  # # │ 2 │
@@ -220,7 +220,7 @@ module Polars
220
220
  # date.dt.quarter
221
221
  # # =>
222
222
  # # shape: (4,)
223
- # # Series: '' [u32]
223
+ # # Series: '' [i8]
224
224
  # # [
225
225
  # # 1
226
226
  # # 1
@@ -258,7 +258,7 @@ module Polars
258
258
  # date.dt.month
259
259
  # # =>
260
260
  # # shape: (4,)
261
- # # Series: '' [u32]
261
+ # # Series: '' [i8]
262
262
  # # [
263
263
  # # 1
264
264
  # # 2
@@ -296,7 +296,7 @@ module Polars
296
296
  # date.dt.week
297
297
  # # =>
298
298
  # # shape: (4,)
299
- # # Series: '' [u32]
299
+ # # Series: '' [i8]
300
300
  # # [
301
301
  # # 1
302
302
  # # 5
@@ -336,7 +336,7 @@ module Polars
336
336
  # date.dt.weekday
337
337
  # # =>
338
338
  # # shape: (7,)
339
- # # Series: '' [u32]
339
+ # # Series: '' [i8]
340
340
  # # [
341
341
  # # 1
342
342
  # # 2
@@ -378,7 +378,7 @@ module Polars
378
378
  # date.dt.day
379
379
  # # =>
380
380
  # # shape: (5,)
381
- # # Series: '' [u32]
381
+ # # Series: '' [i8]
382
382
  # # [
383
383
  # # 1
384
384
  # # 3
@@ -416,7 +416,7 @@ module Polars
416
416
  # date.dt.ordinal_day
417
417
  # # =>
418
418
  # # shape: (3,)
419
- # # Series: '' [u32]
419
+ # # Series: '' [i16]
420
420
  # # [
421
421
  # # 1
422
422
  # # 32
@@ -452,7 +452,7 @@ module Polars
452
452
  # date.dt.hour
453
453
  # # =>
454
454
  # # shape: (4,)
455
- # # Series: '' [u32]
455
+ # # Series: '' [i8]
456
456
  # # [
457
457
  # # 0
458
458
  # # 1
@@ -488,7 +488,7 @@ module Polars
488
488
  # date.dt.minute
489
489
  # # =>
490
490
  # # shape: (3,)
491
- # # Series: '' [u32]
491
+ # # Series: '' [i8]
492
492
  # # [
493
493
  # # 0
494
494
  # # 2
@@ -531,7 +531,7 @@ module Polars
531
531
  # date.dt.second
532
532
  # # =>
533
533
  # # shape: (9,)
534
- # # Series: '' [u32]
534
+ # # Series: '' [i8]
535
535
  # # [
536
536
  # # 0
537
537
  # # 0
@@ -593,7 +593,7 @@ module Polars
593
593
  # date.dt.millisecond
594
594
  # # =>
595
595
  # # shape: (9,)
596
- # # Series: '' [u32]
596
+ # # Series: '' [i32]
597
597
  # # [
598
598
  # # 0
599
599
  # # 500
@@ -638,7 +638,7 @@ module Polars
638
638
  # date.dt.microsecond
639
639
  # # =>
640
640
  # # shape: (9,)
641
- # # Series: '' [u32]
641
+ # # Series: '' [i32]
642
642
  # # [
643
643
  # # 0
644
644
  # # 500000
@@ -683,7 +683,7 @@ module Polars
683
683
  # date.dt.nanosecond
684
684
  # # =>
685
685
  # # shape: (9,)
686
- # # Series: '' [u32]
686
+ # # Series: '' [i32]
687
687
  # # [
688
688
  # # 0
689
689
  # # 500000000