polars-df 0.2.5 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Cargo.lock +290 -137
- data/Cargo.toml +1 -1
- data/ext/polars/Cargo.toml +5 -4
- data/ext/polars/src/apply/dataframe.rs +6 -6
- data/ext/polars/src/apply/series.rs +10 -10
- data/ext/polars/src/batched_csv.rs +6 -4
- data/ext/polars/src/conversion.rs +40 -13
- data/ext/polars/src/dataframe.rs +45 -43
- data/ext/polars/src/error.rs +8 -8
- data/ext/polars/src/file.rs +5 -4
- data/ext/polars/src/lazy/apply.rs +1 -1
- data/ext/polars/src/lazy/dataframe.rs +12 -6
- data/ext/polars/src/lazy/dsl.rs +99 -45
- data/ext/polars/src/lazy/meta.rs +10 -9
- data/ext/polars/src/lib.rs +28 -29
- data/ext/polars/src/object.rs +2 -1
- data/ext/polars/src/series.rs +23 -21
- data/lib/polars/cat_expr.rb +0 -4
- data/lib/polars/cat_name_space.rb +0 -4
- data/lib/polars/convert.rb +0 -7
- data/lib/polars/data_frame.rb +139 -204
- data/lib/polars/date_time_expr.rb +19 -151
- data/lib/polars/date_time_name_space.rb +17 -17
- data/lib/polars/expr.rb +68 -315
- data/lib/polars/group_by.rb +68 -51
- data/lib/polars/io.rb +1 -1
- data/lib/polars/lazy_frame.rb +1 -103
- data/lib/polars/lazy_functions.rb +0 -26
- data/lib/polars/lazy_group_by.rb +0 -8
- data/lib/polars/list_expr.rb +5 -27
- data/lib/polars/list_name_space.rb +5 -8
- data/lib/polars/series.rb +20 -16
- data/lib/polars/string_expr.rb +20 -76
- data/lib/polars/string_name_space.rb +5 -15
- data/lib/polars/struct_expr.rb +0 -2
- data/lib/polars/version.rb +1 -1
- metadata +3 -3
data/lib/polars/data_frame.rb
CHANGED
@@ -367,9 +367,7 @@ module Polars
|
|
367
367
|
# # │ i64 ┆ i64 ┆ str │
|
368
368
|
# # ╞═══════╪════════╪════════╡
|
369
369
|
# # │ 1 ┆ 6 ┆ a │
|
370
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
371
370
|
# # │ 2 ┆ 7 ┆ b │
|
372
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
373
371
|
# # │ 3 ┆ 8 ┆ c │
|
374
372
|
# # └───────┴────────┴────────┘
|
375
373
|
def columns=(columns)
|
@@ -529,8 +527,12 @@ module Polars
|
|
529
527
|
columns.include?(name)
|
530
528
|
end
|
531
529
|
|
532
|
-
#
|
533
|
-
#
|
530
|
+
# Returns an enumerator.
|
531
|
+
#
|
532
|
+
# @return [Object]
|
533
|
+
def each(&block)
|
534
|
+
get_columns.each(&block)
|
535
|
+
end
|
534
536
|
|
535
537
|
# Returns subset of the DataFrame.
|
536
538
|
#
|
@@ -637,6 +639,7 @@ module Polars
|
|
637
639
|
# Set item.
|
638
640
|
#
|
639
641
|
# @return [Object]
|
642
|
+
#
|
640
643
|
# def []=(key, value)
|
641
644
|
# if key.is_a?(String)
|
642
645
|
# raise TypeError, "'DataFrame' object does not support 'Series' assignment by index. Use 'DataFrame.with_columns'"
|
@@ -645,6 +648,25 @@ module Polars
|
|
645
648
|
# raise Todo
|
646
649
|
# end
|
647
650
|
|
651
|
+
|
652
|
+
# Return the dataframe as a scalar.
|
653
|
+
#
|
654
|
+
# Equivalent to `df[0,0]`, with a check that the shape is (1,1).
|
655
|
+
#
|
656
|
+
# @return [Object]
|
657
|
+
#
|
658
|
+
# @example
|
659
|
+
# df = Polars::DataFrame.new({"a" => [1, 2, 3], "b" => [4, 5, 6]})
|
660
|
+
# result = df.select((Polars.col("a") * Polars.col("b")).sum)
|
661
|
+
# result.item
|
662
|
+
# # => 32
|
663
|
+
def item
|
664
|
+
if shape != [1, 1]
|
665
|
+
raise ArgumentError, "Can only call .item if the dataframe is of shape (1,1), dataframe is of shape #{shape}"
|
666
|
+
end
|
667
|
+
self[0, 0]
|
668
|
+
end
|
669
|
+
|
648
670
|
# no to_arrow
|
649
671
|
|
650
672
|
# Convert DataFrame to a hash mapping column name to values.
|
@@ -1008,7 +1030,6 @@ module Polars
|
|
1008
1030
|
# # │ str ┆ i64 ┆ i64 ┆ i64 │
|
1009
1031
|
# # ╞════════╪══════════╪══════════╪══════════╡
|
1010
1032
|
# # │ a ┆ 1 ┆ 2 ┆ 3 │
|
1011
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
|
1012
1033
|
# # │ b ┆ 1 ┆ 2 ┆ 3 │
|
1013
1034
|
# # └────────┴──────────┴──────────┴──────────┘
|
1014
1035
|
#
|
@@ -1022,7 +1043,6 @@ module Polars
|
|
1022
1043
|
# # │ i64 ┆ i64 ┆ i64 │
|
1023
1044
|
# # ╞═════╪═════╪═════╡
|
1024
1045
|
# # │ 1 ┆ 2 ┆ 3 │
|
1025
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1026
1046
|
# # │ 1 ┆ 2 ┆ 3 │
|
1027
1047
|
# # └─────┴─────┴─────┘
|
1028
1048
|
#
|
@@ -1038,7 +1058,6 @@ module Polars
|
|
1038
1058
|
# # │ str ┆ i64 ┆ i64 ┆ i64 │
|
1039
1059
|
# # ╞═════╪═════╪═════╪═════╡
|
1040
1060
|
# # │ a ┆ 1 ┆ 2 ┆ 3 │
|
1041
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1042
1061
|
# # │ b ┆ 1 ┆ 2 ┆ 3 │
|
1043
1062
|
# # └─────┴─────┴─────┴─────┘
|
1044
1063
|
def transpose(include_header: false, header_name: "column", column_names: nil)
|
@@ -1080,9 +1099,7 @@ module Polars
|
|
1080
1099
|
# # │ str ┆ i64 │
|
1081
1100
|
# # ╞═════╪═════╡
|
1082
1101
|
# # │ c ┆ 3 │
|
1083
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1084
1102
|
# # │ b ┆ 2 │
|
1085
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1086
1103
|
# # │ a ┆ 1 │
|
1087
1104
|
# # └─────┴─────┘
|
1088
1105
|
def reverse
|
@@ -1113,9 +1130,7 @@ module Polars
|
|
1113
1130
|
# # │ i64 ┆ i64 ┆ str │
|
1114
1131
|
# # ╞═══════╪═════╪═════╡
|
1115
1132
|
# # │ 1 ┆ 6 ┆ a │
|
1116
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1117
1133
|
# # │ 2 ┆ 7 ┆ b │
|
1118
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1119
1134
|
# # │ 3 ┆ 8 ┆ c │
|
1120
1135
|
# # └───────┴─────┴─────┘
|
1121
1136
|
def rename(mapping)
|
@@ -1143,9 +1158,7 @@ module Polars
|
|
1143
1158
|
# # │ i64 ┆ i64 ┆ i64 │
|
1144
1159
|
# # ╞═════╪═════╪═════╡
|
1145
1160
|
# # │ 1 ┆ 97 ┆ 4 │
|
1146
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1147
1161
|
# # │ 2 ┆ 98 ┆ 5 │
|
1148
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1149
1162
|
# # │ 3 ┆ 99 ┆ 6 │
|
1150
1163
|
# # └─────┴─────┴─────┘
|
1151
1164
|
#
|
@@ -1167,11 +1180,8 @@ module Polars
|
|
1167
1180
|
# # │ i64 ┆ f64 ┆ bool ┆ f64 │
|
1168
1181
|
# # ╞═════╪══════╪═══════╪══════╡
|
1169
1182
|
# # │ 1 ┆ 0.5 ┆ true ┆ -2.5 │
|
1170
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1171
1183
|
# # │ 2 ┆ 4.0 ┆ true ┆ 15.0 │
|
1172
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1173
1184
|
# # │ 3 ┆ 10.0 ┆ false ┆ 20.5 │
|
1174
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1175
1185
|
# # │ 4 ┆ 13.0 ┆ true ┆ 0.0 │
|
1176
1186
|
# # └─────┴──────┴───────┴──────┘
|
1177
1187
|
def insert_at_idx(index, series)
|
@@ -1206,7 +1216,6 @@ module Polars
|
|
1206
1216
|
# # │ i64 ┆ i64 ┆ str │
|
1207
1217
|
# # ╞═════╪═════╪═════╡
|
1208
1218
|
# # │ 1 ┆ 6 ┆ a │
|
1209
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1210
1219
|
# # │ 2 ┆ 7 ┆ b │
|
1211
1220
|
# # └─────┴─────┴─────┘
|
1212
1221
|
#
|
@@ -1248,17 +1257,11 @@ module Polars
|
|
1248
1257
|
# # │ str ┆ f64 ┆ f64 ┆ f64 ┆ str ┆ str │
|
1249
1258
|
# # ╞════════════╪══════════╪══════════╪══════════╪══════╪══════╡
|
1250
1259
|
# # │ count ┆ 3.0 ┆ 3.0 ┆ 3.0 ┆ 3 ┆ 3 │
|
1251
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1252
1260
|
# # │ null_count ┆ 0.0 ┆ 1.0 ┆ 0.0 ┆ 1 ┆ 1 │
|
1253
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1254
1261
|
# # │ mean ┆ 2.266667 ┆ 4.5 ┆ 0.666667 ┆ null ┆ null │
|
1255
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1256
1262
|
# # │ std ┆ 1.101514 ┆ 0.707107 ┆ 0.57735 ┆ null ┆ null │
|
1257
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1258
1263
|
# # │ min ┆ 1.0 ┆ 4.0 ┆ 0.0 ┆ b ┆ eur │
|
1259
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1260
1264
|
# # │ max ┆ 3.0 ┆ 5.0 ┆ 1.0 ┆ c ┆ usd │
|
1261
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
1262
1265
|
# # │ median ┆ 2.8 ┆ 4.5 ┆ 1.0 ┆ null ┆ null │
|
1263
1266
|
# # └────────────┴──────────┴──────────┴──────────┴──────┴──────┘
|
1264
1267
|
def describe
|
@@ -1345,9 +1348,7 @@ module Polars
|
|
1345
1348
|
# # │ i64 ┆ i64 ┆ str │
|
1346
1349
|
# # ╞═══════╪═════╪═════╡
|
1347
1350
|
# # │ 10 ┆ 6 ┆ a │
|
1348
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1349
1351
|
# # │ 20 ┆ 7 ┆ b │
|
1350
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1351
1352
|
# # │ 30 ┆ 8 ┆ c │
|
1352
1353
|
# # └───────┴─────┴─────┘
|
1353
1354
|
def replace_at_idx(index, series)
|
@@ -1386,9 +1387,7 @@ module Polars
|
|
1386
1387
|
# # │ i64 ┆ f64 ┆ str │
|
1387
1388
|
# # ╞═════╪═════╪═════╡
|
1388
1389
|
# # │ 3 ┆ 8.0 ┆ c │
|
1389
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1390
1390
|
# # │ 2 ┆ 7.0 ┆ b │
|
1391
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1392
1391
|
# # │ 1 ┆ 6.0 ┆ a │
|
1393
1392
|
# # └─────┴─────┴─────┘
|
1394
1393
|
#
|
@@ -1405,9 +1404,7 @@ module Polars
|
|
1405
1404
|
# # │ i64 ┆ f64 ┆ str │
|
1406
1405
|
# # ╞═════╪═════╪═════╡
|
1407
1406
|
# # │ 3 ┆ 8.0 ┆ c │
|
1408
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1409
1407
|
# # │ 2 ┆ 7.0 ┆ b │
|
1410
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1411
1408
|
# # │ 1 ┆ 6.0 ┆ a │
|
1412
1409
|
# # └─────┴─────┴─────┘
|
1413
1410
|
def sort(by, reverse: false, nulls_last: false)
|
@@ -1473,9 +1470,7 @@ module Polars
|
|
1473
1470
|
# # │ i64 ┆ i64 │
|
1474
1471
|
# # ╞═════╪═════╡
|
1475
1472
|
# # │ 10 ┆ 4 │
|
1476
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1477
1473
|
# # │ 20 ┆ 5 │
|
1478
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1479
1474
|
# # │ 30 ┆ 6 │
|
1480
1475
|
# # └─────┴─────┘
|
1481
1476
|
def replace(column, new_col)
|
@@ -1510,7 +1505,6 @@ module Polars
|
|
1510
1505
|
# # │ i64 ┆ f64 ┆ str │
|
1511
1506
|
# # ╞═════╪═════╪═════╡
|
1512
1507
|
# # │ 2 ┆ 7.0 ┆ b │
|
1513
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1514
1508
|
# # │ 3 ┆ 8.0 ┆ c │
|
1515
1509
|
# # └─────┴─────┴─────┘
|
1516
1510
|
def slice(offset, length = nil)
|
@@ -1542,11 +1536,8 @@ module Polars
|
|
1542
1536
|
# # │ i64 ┆ str │
|
1543
1537
|
# # ╞═════╪═════╡
|
1544
1538
|
# # │ 1 ┆ a │
|
1545
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1546
1539
|
# # │ 2 ┆ b │
|
1547
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1548
1540
|
# # │ 3 ┆ c │
|
1549
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1550
1541
|
# # │ 4 ┆ d │
|
1551
1542
|
# # └─────┴─────┘
|
1552
1543
|
def limit(n = 5)
|
@@ -1577,9 +1568,7 @@ module Polars
|
|
1577
1568
|
# # │ i64 ┆ i64 ┆ str │
|
1578
1569
|
# # ╞═════╪═════╪═════╡
|
1579
1570
|
# # │ 1 ┆ 6 ┆ a │
|
1580
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1581
1571
|
# # │ 2 ┆ 7 ┆ b │
|
1582
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1583
1572
|
# # │ 3 ┆ 8 ┆ c │
|
1584
1573
|
# # └─────┴─────┴─────┘
|
1585
1574
|
def head(n = 5)
|
@@ -1610,9 +1599,7 @@ module Polars
|
|
1610
1599
|
# # │ i64 ┆ i64 ┆ str │
|
1611
1600
|
# # ╞═════╪═════╪═════╡
|
1612
1601
|
# # │ 3 ┆ 8 ┆ c │
|
1613
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1614
1602
|
# # │ 4 ┆ 9 ┆ d │
|
1615
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1616
1603
|
# # │ 5 ┆ 10 ┆ e │
|
1617
1604
|
# # └─────┴─────┴─────┘
|
1618
1605
|
def tail(n = 5)
|
@@ -1643,7 +1630,6 @@ module Polars
|
|
1643
1630
|
# # │ i64 ┆ i64 ┆ str │
|
1644
1631
|
# # ╞═════╪═════╪═════╡
|
1645
1632
|
# # │ 1 ┆ 6 ┆ a │
|
1646
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1647
1633
|
# # │ 3 ┆ 8 ┆ c │
|
1648
1634
|
# # └─────┴─────┴─────┘
|
1649
1635
|
def drop_nulls(subset: nil)
|
@@ -1685,11 +1671,8 @@ module Polars
|
|
1685
1671
|
# # │ i64 ┆ i64 │
|
1686
1672
|
# # ╞═════╪═════╡
|
1687
1673
|
# # │ 1 ┆ 10 │
|
1688
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1689
1674
|
# # │ 2 ┆ 20 │
|
1690
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1691
1675
|
# # │ 3 ┆ 30 │
|
1692
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1693
1676
|
# # │ 4 ┆ 40 │
|
1694
1677
|
# # └─────┴─────┘
|
1695
1678
|
def pipe(func, *args, **kwargs, &block)
|
@@ -1721,9 +1704,7 @@ module Polars
|
|
1721
1704
|
# # │ u32 ┆ i64 ┆ i64 │
|
1722
1705
|
# # ╞════════╪═════╪═════╡
|
1723
1706
|
# # │ 0 ┆ 1 ┆ 2 │
|
1724
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1725
1707
|
# # │ 1 ┆ 3 ┆ 4 │
|
1726
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
1727
1708
|
# # │ 2 ┆ 5 ┆ 6 │
|
1728
1709
|
# # └────────┴─────┴─────┘
|
1729
1710
|
def with_row_count(name: "row_nr", offset: 0)
|
@@ -1758,18 +1739,13 @@ module Polars
|
|
1758
1739
|
# # │ str ┆ i64 │
|
1759
1740
|
# # ╞═════╪═════╡
|
1760
1741
|
# # │ a ┆ 4 │
|
1761
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1762
1742
|
# # │ b ┆ 11 │
|
1763
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
1764
1743
|
# # │ c ┆ 6 │
|
1765
1744
|
# # └─────┴─────┘
|
1766
1745
|
def groupby(by, maintain_order: false)
|
1767
1746
|
if !Utils.bool?(maintain_order)
|
1768
1747
|
raise TypeError, "invalid input for groupby arg `maintain_order`: #{maintain_order}."
|
1769
1748
|
end
|
1770
|
-
if by.is_a?(String)
|
1771
|
-
by = [by]
|
1772
|
-
end
|
1773
1749
|
GroupBy.new(
|
1774
1750
|
_df,
|
1775
1751
|
by,
|
@@ -1856,15 +1832,10 @@ module Polars
|
|
1856
1832
|
# # │ datetime[μs] ┆ i64 ┆ i64 ┆ i64 │
|
1857
1833
|
# # ╞═════════════════════╪═══════╪═══════╪═══════╡
|
1858
1834
|
# # │ 2020-01-01 13:45:48 ┆ 3 ┆ 3 ┆ 3 │
|
1859
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
1860
1835
|
# # │ 2020-01-01 16:42:13 ┆ 10 ┆ 3 ┆ 7 │
|
1861
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
1862
1836
|
# # │ 2020-01-01 16:45:09 ┆ 15 ┆ 3 ┆ 7 │
|
1863
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
1864
1837
|
# # │ 2020-01-02 18:12:48 ┆ 24 ┆ 3 ┆ 9 │
|
1865
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
1866
1838
|
# # │ 2020-01-03 19:45:32 ┆ 11 ┆ 2 ┆ 9 │
|
1867
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
1868
1839
|
# # │ 2020-01-08 23:16:43 ┆ 1 ┆ 1 ┆ 1 │
|
1869
1840
|
# # └─────────────────────┴───────┴───────┴───────┘
|
1870
1841
|
def groupby_rolling(
|
@@ -1961,17 +1932,11 @@ module Polars
|
|
1961
1932
|
# # │ datetime[μs] ┆ i64 │
|
1962
1933
|
# # ╞═════════════════════╪═════╡
|
1963
1934
|
# # │ 2021-12-16 00:00:00 ┆ 0 │
|
1964
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
|
1965
1935
|
# # │ 2021-12-16 00:30:00 ┆ 1 │
|
1966
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
|
1967
1936
|
# # │ 2021-12-16 01:00:00 ┆ 2 │
|
1968
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
|
1969
1937
|
# # │ 2021-12-16 01:30:00 ┆ 3 │
|
1970
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
|
1971
1938
|
# # │ 2021-12-16 02:00:00 ┆ 4 │
|
1972
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
|
1973
1939
|
# # │ 2021-12-16 02:30:00 ┆ 5 │
|
1974
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
|
1975
1940
|
# # │ 2021-12-16 03:00:00 ┆ 6 │
|
1976
1941
|
# # └─────────────────────┴─────┘
|
1977
1942
|
#
|
@@ -1990,11 +1955,8 @@ module Polars
|
|
1990
1955
|
# # │ datetime[μs] ┆ datetime[μs] ┆ datetime[μs] │
|
1991
1956
|
# # ╞═════════════════════╪═════════════════════╪═════════════════════╡
|
1992
1957
|
# # │ 2021-12-15 23:00:00 ┆ 2021-12-16 00:00:00 ┆ 2021-12-16 00:00:00 │
|
1993
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
1994
1958
|
# # │ 2021-12-16 00:00:00 ┆ 2021-12-16 00:30:00 ┆ 2021-12-16 01:00:00 │
|
1995
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
1996
1959
|
# # │ 2021-12-16 01:00:00 ┆ 2021-12-16 01:30:00 ┆ 2021-12-16 02:00:00 │
|
1997
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
1998
1960
|
# # │ 2021-12-16 02:00:00 ┆ 2021-12-16 02:30:00 ┆ 2021-12-16 03:00:00 │
|
1999
1961
|
# # └─────────────────────┴─────────────────────┴─────────────────────┘
|
2000
1962
|
#
|
@@ -2010,11 +1972,8 @@ module Polars
|
|
2010
1972
|
# # │ datetime[μs] ┆ datetime[μs] ┆ datetime[μs] ┆ u32 │
|
2011
1973
|
# # ╞═════════════════════╪═════════════════════╪═════════════════════╪════════════╡
|
2012
1974
|
# # │ 2021-12-15 23:00:00 ┆ 2021-12-16 00:00:00 ┆ 2021-12-15 23:00:00 ┆ 1 │
|
2013
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2014
1975
|
# # │ 2021-12-16 00:00:00 ┆ 2021-12-16 01:00:00 ┆ 2021-12-16 00:00:00 ┆ 2 │
|
2015
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2016
1976
|
# # │ 2021-12-16 01:00:00 ┆ 2021-12-16 02:00:00 ┆ 2021-12-16 01:00:00 ┆ 2 │
|
2017
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2018
1977
|
# # │ 2021-12-16 02:00:00 ┆ 2021-12-16 03:00:00 ┆ 2021-12-16 02:00:00 ┆ 2 │
|
2019
1978
|
# # └─────────────────────┴─────────────────────┴─────────────────────┴────────────┘
|
2020
1979
|
#
|
@@ -2033,11 +1992,8 @@ module Polars
|
|
2033
1992
|
# # │ datetime[μs] ┆ u32 ┆ list[datetime[μs]] │
|
2034
1993
|
# # ╞═════════════════════╪════════════╪═════════════════════════════════════╡
|
2035
1994
|
# # │ 2021-12-16 00:00:00 ┆ 2 ┆ [2021-12-16 00:00:00, 2021-12-16... │
|
2036
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2037
1995
|
# # │ 2021-12-16 01:00:00 ┆ 2 ┆ [2021-12-16 01:00:00, 2021-12-16... │
|
2038
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2039
1996
|
# # │ 2021-12-16 02:00:00 ┆ 2 ┆ [2021-12-16 02:00:00, 2021-12-16... │
|
2040
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2041
1997
|
# # │ 2021-12-16 03:00:00 ┆ 1 ┆ [2021-12-16 03:00:00] │
|
2042
1998
|
# # └─────────────────────┴────────────┴─────────────────────────────────────┘
|
2043
1999
|
#
|
@@ -2053,13 +2009,9 @@ module Polars
|
|
2053
2009
|
# # │ datetime[μs] ┆ u32 │
|
2054
2010
|
# # ╞═════════════════════╪════════════╡
|
2055
2011
|
# # │ 2021-12-15 23:00:00 ┆ 1 │
|
2056
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2057
2012
|
# # │ 2021-12-16 00:00:00 ┆ 3 │
|
2058
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2059
2013
|
# # │ 2021-12-16 01:00:00 ┆ 3 │
|
2060
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2061
2014
|
# # │ 2021-12-16 02:00:00 ┆ 3 │
|
2062
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2063
2015
|
# # │ 2021-12-16 03:00:00 ┆ 1 │
|
2064
2016
|
# # └─────────────────────┴────────────┘
|
2065
2017
|
#
|
@@ -2089,17 +2041,11 @@ module Polars
|
|
2089
2041
|
# # │ str ┆ datetime[μs] ┆ datetime[μs] ┆ datetime[μs] ┆ u32 │
|
2090
2042
|
# # ╞════════╪═════════════════════╪═════════════════════╪═════════════════════╪════════════╡
|
2091
2043
|
# # │ a ┆ 2021-12-15 23:00:00 ┆ 2021-12-16 00:00:00 ┆ 2021-12-15 23:00:00 ┆ 1 │
|
2092
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2093
2044
|
# # │ a ┆ 2021-12-16 00:00:00 ┆ 2021-12-16 01:00:00 ┆ 2021-12-16 00:00:00 ┆ 3 │
|
2094
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2095
2045
|
# # │ a ┆ 2021-12-16 01:00:00 ┆ 2021-12-16 02:00:00 ┆ 2021-12-16 01:00:00 ┆ 1 │
|
2096
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2097
2046
|
# # │ a ┆ 2021-12-16 02:00:00 ┆ 2021-12-16 03:00:00 ┆ 2021-12-16 02:00:00 ┆ 2 │
|
2098
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2099
2047
|
# # │ a ┆ 2021-12-16 03:00:00 ┆ 2021-12-16 04:00:00 ┆ 2021-12-16 03:00:00 ┆ 1 │
|
2100
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2101
2048
|
# # │ b ┆ 2021-12-16 01:00:00 ┆ 2021-12-16 02:00:00 ┆ 2021-12-16 01:00:00 ┆ 2 │
|
2102
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2103
2049
|
# # │ b ┆ 2021-12-16 02:00:00 ┆ 2021-12-16 03:00:00 ┆ 2021-12-16 02:00:00 ┆ 1 │
|
2104
2050
|
# # └────────┴─────────────────────┴─────────────────────┴─────────────────────┴────────────┘
|
2105
2051
|
#
|
@@ -2125,9 +2071,7 @@ module Polars
|
|
2125
2071
|
# # │ i64 ┆ i64 ┆ i64 ┆ list[str] │
|
2126
2072
|
# # ╞═════════════════╪═════════════════╪═════╪═════════════════╡
|
2127
2073
|
# # │ 0 ┆ 3 ┆ 0 ┆ ["A", "B", "B"] │
|
2128
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2129
2074
|
# # │ 2 ┆ 5 ┆ 2 ┆ ["B", "B", "C"] │
|
2130
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
2131
2075
|
# # │ 4 ┆ 7 ┆ 4 ┆ ["C"] │
|
2132
2076
|
# # └─────────────────┴─────────────────┴─────┴─────────────────┘
|
2133
2077
|
def groupby_dynamic(
|
@@ -2213,17 +2157,11 @@ module Polars
|
|
2213
2157
|
# # │ datetime[ns] ┆ str ┆ i64 │
|
2214
2158
|
# # ╞═════════════════════╪════════╪════════╡
|
2215
2159
|
# # │ 2021-02-01 00:00:00 ┆ A ┆ 0 │
|
2216
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
2217
2160
|
# # │ 2021-03-01 00:00:00 ┆ A ┆ 0 │
|
2218
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
2219
2161
|
# # │ 2021-04-01 00:00:00 ┆ A ┆ 0 │
|
2220
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
2221
2162
|
# # │ 2021-05-01 00:00:00 ┆ A ┆ 2 │
|
2222
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
2223
2163
|
# # │ 2021-04-01 00:00:00 ┆ B ┆ 1 │
|
2224
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
2225
2164
|
# # │ 2021-05-01 00:00:00 ┆ B ┆ 1 │
|
2226
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
2227
2165
|
# # │ 2021-06-01 00:00:00 ┆ B ┆ 3 │
|
2228
2166
|
# # └─────────────────────┴────────┴────────┘
|
2229
2167
|
def upsample(
|
@@ -2348,11 +2286,8 @@ module Polars
|
|
2348
2286
|
# # │ datetime[ns] ┆ f64 ┆ i64 │
|
2349
2287
|
# # ╞═════════════════════╪════════════╪══════╡
|
2350
2288
|
# # │ 2016-05-12 00:00:00 ┆ 82.19 ┆ 4164 │
|
2351
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2352
2289
|
# # │ 2017-05-12 00:00:00 ┆ 82.66 ┆ 4411 │
|
2353
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2354
2290
|
# # │ 2018-05-12 00:00:00 ┆ 83.12 ┆ 4566 │
|
2355
|
-
# # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2356
2291
|
# # │ 2019-05-12 00:00:00 ┆ 83.52 ┆ 4696 │
|
2357
2292
|
# # └─────────────────────┴────────────┴──────┘
|
2358
2293
|
def join_asof(
|
@@ -2427,7 +2362,6 @@ module Polars
|
|
2427
2362
|
# # │ i64 ┆ f64 ┆ str ┆ str │
|
2428
2363
|
# # ╞═════╪═════╪═════╪═══════╡
|
2429
2364
|
# # │ 1 ┆ 6.0 ┆ a ┆ x │
|
2430
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2431
2365
|
# # │ 2 ┆ 7.0 ┆ b ┆ y │
|
2432
2366
|
# # └─────┴─────┴─────┴───────┘
|
2433
2367
|
#
|
@@ -2441,11 +2375,8 @@ module Polars
|
|
2441
2375
|
# # │ i64 ┆ f64 ┆ str ┆ str │
|
2442
2376
|
# # ╞══════╪══════╪═════╪═══════╡
|
2443
2377
|
# # │ 1 ┆ 6.0 ┆ a ┆ x │
|
2444
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2445
2378
|
# # │ 2 ┆ 7.0 ┆ b ┆ y │
|
2446
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2447
2379
|
# # │ null ┆ null ┆ d ┆ z │
|
2448
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2449
2380
|
# # │ 3 ┆ 8.0 ┆ c ┆ null │
|
2450
2381
|
# # └──────┴──────┴─────┴───────┘
|
2451
2382
|
#
|
@@ -2459,9 +2390,7 @@ module Polars
|
|
2459
2390
|
# # │ i64 ┆ f64 ┆ str ┆ str │
|
2460
2391
|
# # ╞═════╪═════╪═════╪═══════╡
|
2461
2392
|
# # │ 1 ┆ 6.0 ┆ a ┆ x │
|
2462
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2463
2393
|
# # │ 2 ┆ 7.0 ┆ b ┆ y │
|
2464
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2465
2394
|
# # │ 3 ┆ 8.0 ┆ c ┆ null │
|
2466
2395
|
# # └─────┴─────┴─────┴───────┘
|
2467
2396
|
#
|
@@ -2475,7 +2404,6 @@ module Polars
|
|
2475
2404
|
# # │ i64 ┆ f64 ┆ str │
|
2476
2405
|
# # ╞═════╪═════╪═════╡
|
2477
2406
|
# # │ 1 ┆ 6.0 ┆ a │
|
2478
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
2479
2407
|
# # │ 2 ┆ 7.0 ┆ b │
|
2480
2408
|
# # └─────┴─────┴─────┘
|
2481
2409
|
#
|
@@ -2546,9 +2474,7 @@ module Polars
|
|
2546
2474
|
# # │ i64 ┆ i64 │
|
2547
2475
|
# # ╞══════════╪══════════╡
|
2548
2476
|
# # │ 2 ┆ -3 │
|
2549
|
-
# # ├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
|
2550
2477
|
# # │ 4 ┆ 15 │
|
2551
|
-
# # ├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
|
2552
2478
|
# # │ 6 ┆ 24 │
|
2553
2479
|
# # └──────────┴──────────┘
|
2554
2480
|
#
|
@@ -2562,9 +2488,7 @@ module Polars
|
|
2562
2488
|
# # │ i64 │
|
2563
2489
|
# # ╞═══════╡
|
2564
2490
|
# # │ 1 │
|
2565
|
-
# # ├╌╌╌╌╌╌╌┤
|
2566
2491
|
# # │ 9 │
|
2567
|
-
# # ├╌╌╌╌╌╌╌┤
|
2568
2492
|
# # │ 14 │
|
2569
2493
|
# # └───────┘
|
2570
2494
|
def apply(return_dtype: nil, inference_size: 256, &f)
|
@@ -2599,9 +2523,7 @@ module Polars
|
|
2599
2523
|
# # │ i64 ┆ i64 ┆ f64 │
|
2600
2524
|
# # ╞═════╪═════╪═══════════╡
|
2601
2525
|
# # │ 1 ┆ 2 ┆ 4.0 │
|
2602
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┤
|
2603
2526
|
# # │ 3 ┆ 4 ┆ 16.0 │
|
2604
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┤
|
2605
2527
|
# # │ 5 ┆ 6 ┆ 36.0 │
|
2606
2528
|
# # └─────┴─────┴───────────┘
|
2607
2529
|
#
|
@@ -2615,9 +2537,7 @@ module Polars
|
|
2615
2537
|
# # │ f64 ┆ i64 │
|
2616
2538
|
# # ╞══════╪═════╡
|
2617
2539
|
# # │ 1.0 ┆ 2 │
|
2618
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌┤
|
2619
2540
|
# # │ 9.0 ┆ 4 │
|
2620
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌┤
|
2621
2541
|
# # │ 25.0 ┆ 6 │
|
2622
2542
|
# # └──────┴─────┘
|
2623
2543
|
def with_column(column)
|
@@ -2653,9 +2573,7 @@ module Polars
|
|
2653
2573
|
# # │ i64 ┆ i64 ┆ str ┆ i64 │
|
2654
2574
|
# # ╞═════╪═════╪═════╪═══════╡
|
2655
2575
|
# # │ 1 ┆ 6 ┆ a ┆ 10 │
|
2656
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2657
2576
|
# # │ 2 ┆ 7 ┆ b ┆ 20 │
|
2658
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
2659
2577
|
# # │ 3 ┆ 8 ┆ c ┆ 30 │
|
2660
2578
|
# # └─────┴─────┴─────┴───────┘
|
2661
2579
|
def hstack(columns, in_place: false)
|
@@ -2703,11 +2621,8 @@ module Polars
|
|
2703
2621
|
# # │ i64 ┆ i64 ┆ str │
|
2704
2622
|
# # ╞═════╪═════╪═════╡
|
2705
2623
|
# # │ 1 ┆ 6 ┆ a │
|
2706
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
2707
2624
|
# # │ 2 ┆ 7 ┆ b │
|
2708
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
2709
2625
|
# # │ 3 ┆ 8 ┆ c │
|
2710
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
2711
2626
|
# # │ 4 ┆ 9 ┆ d │
|
2712
2627
|
# # └─────┴─────┴─────┘
|
2713
2628
|
def vstack(df, in_place: false)
|
@@ -2753,15 +2668,10 @@ module Polars
|
|
2753
2668
|
# # │ i64 ┆ i64 │
|
2754
2669
|
# # ╞═════╪═════╡
|
2755
2670
|
# # │ 1 ┆ 4 │
|
2756
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2757
2671
|
# # │ 2 ┆ 5 │
|
2758
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2759
2672
|
# # │ 3 ┆ 6 │
|
2760
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2761
2673
|
# # │ 10 ┆ 40 │
|
2762
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2763
2674
|
# # │ 20 ┆ 50 │
|
2764
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2765
2675
|
# # │ 30 ┆ 60 │
|
2766
2676
|
# # └─────┴─────┘
|
2767
2677
|
def extend(other)
|
@@ -2793,9 +2703,7 @@ module Polars
|
|
2793
2703
|
# # │ i64 ┆ f64 │
|
2794
2704
|
# # ╞═════╪═════╡
|
2795
2705
|
# # │ 1 ┆ 6.0 │
|
2796
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2797
2706
|
# # │ 2 ┆ 7.0 │
|
2798
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
2799
2707
|
# # │ 3 ┆ 8.0 │
|
2800
2708
|
# # └─────┴─────┘
|
2801
2709
|
def drop(columns)
|
@@ -2926,11 +2834,8 @@ module Polars
|
|
2926
2834
|
# # │ i64 ┆ f64 │
|
2927
2835
|
# # ╞═════╪══════╡
|
2928
2836
|
# # │ 1 ┆ 0.5 │
|
2929
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2930
2837
|
# # │ 2 ┆ 4.0 │
|
2931
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2932
2838
|
# # │ 99 ┆ 99.0 │
|
2933
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2934
2839
|
# # │ 4 ┆ 13.0 │
|
2935
2840
|
# # └─────┴──────┘
|
2936
2841
|
#
|
@@ -2944,11 +2849,8 @@ module Polars
|
|
2944
2849
|
# # │ i64 ┆ f64 │
|
2945
2850
|
# # ╞═════╪══════╡
|
2946
2851
|
# # │ 1 ┆ 0.5 │
|
2947
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2948
2852
|
# # │ 2 ┆ 4.0 │
|
2949
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2950
2853
|
# # │ 2 ┆ 4.0 │
|
2951
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2952
2854
|
# # │ 4 ┆ 13.0 │
|
2953
2855
|
# # └─────┴──────┘
|
2954
2856
|
#
|
@@ -2962,11 +2864,8 @@ module Polars
|
|
2962
2864
|
# # │ i64 ┆ f64 │
|
2963
2865
|
# # ╞═════╪══════╡
|
2964
2866
|
# # │ 1 ┆ 0.5 │
|
2965
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2966
2867
|
# # │ 2 ┆ 4.0 │
|
2967
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2968
2868
|
# # │ 4 ┆ 13.0 │
|
2969
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2970
2869
|
# # │ 4 ┆ 13.0 │
|
2971
2870
|
# # └─────┴──────┘
|
2972
2871
|
#
|
@@ -2980,11 +2879,8 @@ module Polars
|
|
2980
2879
|
# # │ i64 ┆ f64 │
|
2981
2880
|
# # ╞═════╪══════╡
|
2982
2881
|
# # │ 1 ┆ 0.5 │
|
2983
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2984
2882
|
# # │ 2 ┆ 4.0 │
|
2985
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2986
2883
|
# # │ 0 ┆ 0.0 │
|
2987
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┤
|
2988
2884
|
# # │ 4 ┆ 13.0 │
|
2989
2885
|
# # └─────┴──────┘
|
2990
2886
|
def fill_null(value = nil, strategy: nil, limit: nil, matches_supertype: true)
|
@@ -3023,11 +2919,8 @@ module Polars
|
|
3023
2919
|
# # │ f64 ┆ f64 │
|
3024
2920
|
# # ╞══════╪══════╡
|
3025
2921
|
# # │ 1.5 ┆ 0.5 │
|
3026
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3027
2922
|
# # │ 2.0 ┆ 4.0 │
|
3028
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3029
2923
|
# # │ 99.0 ┆ 99.0 │
|
3030
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3031
2924
|
# # │ 4.0 ┆ 13.0 │
|
3032
2925
|
# # └──────┴──────┘
|
3033
2926
|
def fill_nan(fill_value)
|
@@ -3057,19 +2950,12 @@ module Polars
|
|
3057
2950
|
# # │ str ┆ i64 │
|
3058
2951
|
# # ╞═════════╪═════════╡
|
3059
2952
|
# # │ a ┆ 1 │
|
3060
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3061
2953
|
# # │ a ┆ 2 │
|
3062
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3063
2954
|
# # │ a ┆ 3 │
|
3064
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3065
2955
|
# # │ b ┆ 4 │
|
3066
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3067
2956
|
# # │ b ┆ 5 │
|
3068
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3069
2957
|
# # │ c ┆ 6 │
|
3070
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3071
2958
|
# # │ c ┆ 7 │
|
3072
|
-
# # ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
|
3073
2959
|
# # │ c ┆ 8 │
|
3074
2960
|
# # └─────────┴─────────┘
|
3075
2961
|
def explode(columns)
|
@@ -3111,7 +2997,6 @@ module Polars
|
|
3111
2997
|
# # │ str ┆ i64 ┆ i64 ┆ i64 │
|
3112
2998
|
# # ╞═════╪═════╪═════╪═════╡
|
3113
2999
|
# # │ one ┆ 1 ┆ 2 ┆ 3 │
|
3114
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3115
3000
|
# # │ two ┆ 4 ┆ 5 ┆ 6 │
|
3116
3001
|
# # └─────┴─────┴─────┴─────┘
|
3117
3002
|
def pivot(
|
@@ -3120,7 +3005,8 @@ module Polars
|
|
3120
3005
|
columns:,
|
3121
3006
|
aggregate_fn: "first",
|
3122
3007
|
maintain_order: true,
|
3123
|
-
sort_columns: false
|
3008
|
+
sort_columns: false,
|
3009
|
+
separator: "_"
|
3124
3010
|
)
|
3125
3011
|
if values.is_a?(String)
|
3126
3012
|
values = [values]
|
@@ -3162,7 +3048,8 @@ module Polars
|
|
3162
3048
|
columns,
|
3163
3049
|
aggregate_fn._rbexpr,
|
3164
3050
|
maintain_order,
|
3165
|
-
sort_columns
|
3051
|
+
sort_columns,
|
3052
|
+
separator
|
3166
3053
|
)
|
3167
3054
|
)
|
3168
3055
|
end
|
@@ -3205,15 +3092,10 @@ module Polars
|
|
3205
3092
|
# # │ str ┆ str ┆ i64 │
|
3206
3093
|
# # ╞═════╪══════════╪═══════╡
|
3207
3094
|
# # │ x ┆ b ┆ 1 │
|
3208
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3209
3095
|
# # │ y ┆ b ┆ 3 │
|
3210
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3211
3096
|
# # │ z ┆ b ┆ 5 │
|
3212
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3213
3097
|
# # │ x ┆ c ┆ 2 │
|
3214
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3215
3098
|
# # │ y ┆ c ┆ 4 │
|
3216
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3217
3099
|
# # │ z ┆ c ┆ 6 │
|
3218
3100
|
# # └─────┴──────────┴───────┘
|
3219
3101
|
def melt(id_vars: nil, value_vars: nil, variable_name: nil, value_name: nil)
|
@@ -3268,21 +3150,13 @@ module Polars
|
|
3268
3150
|
# # │ str ┆ i64 │
|
3269
3151
|
# # ╞══════╪══════╡
|
3270
3152
|
# # │ A ┆ 0 │
|
3271
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3272
3153
|
# # │ B ┆ 1 │
|
3273
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3274
3154
|
# # │ C ┆ 2 │
|
3275
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3276
3155
|
# # │ D ┆ 3 │
|
3277
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3278
3156
|
# # │ ... ┆ ... │
|
3279
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3280
3157
|
# # │ F ┆ 5 │
|
3281
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3282
3158
|
# # │ G ┆ 6 │
|
3283
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3284
3159
|
# # │ H ┆ 7 │
|
3285
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3286
3160
|
# # │ I ┆ 8 │
|
3287
3161
|
# # └──────┴──────┘
|
3288
3162
|
#
|
@@ -3296,9 +3170,7 @@ module Polars
|
|
3296
3170
|
# # │ str ┆ str ┆ str ┆ i64 ┆ i64 ┆ i64 │
|
3297
3171
|
# # ╞════════╪════════╪════════╪════════╪════════╪════════╡
|
3298
3172
|
# # │ A ┆ D ┆ G ┆ 0 ┆ 3 ┆ 6 │
|
3299
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
3300
3173
|
# # │ B ┆ E ┆ H ┆ 1 ┆ 4 ┆ 7 │
|
3301
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
3302
3174
|
# # │ C ┆ F ┆ I ┆ 2 ┆ 5 ┆ 8 │
|
3303
3175
|
# # └────────┴────────┴────────┴────────┴────────┴────────┘
|
3304
3176
|
#
|
@@ -3312,9 +3184,7 @@ module Polars
|
|
3312
3184
|
# # │ str ┆ str ┆ str ┆ i64 ┆ i64 ┆ i64 │
|
3313
3185
|
# # ╞════════╪════════╪════════╪════════╪════════╪════════╡
|
3314
3186
|
# # │ A ┆ B ┆ C ┆ 0 ┆ 1 ┆ 2 │
|
3315
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
3316
3187
|
# # │ D ┆ E ┆ F ┆ 3 ┆ 4 ┆ 5 │
|
3317
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
|
3318
3188
|
# # │ G ┆ H ┆ I ┆ 6 ┆ 7 ┆ 8 │
|
3319
3189
|
# # └────────┴────────┴────────┴────────┴────────┴────────┘
|
3320
3190
|
def unstack(step:, how: "vertical", columns: nil, fill_values: nil)
|
@@ -3400,7 +3270,6 @@ module Polars
|
|
3400
3270
|
# # │ str ┆ i64 ┆ str │
|
3401
3271
|
# # ╞═════╪═════╪═════╡
|
3402
3272
|
# # │ A ┆ 1 ┆ k │
|
3403
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3404
3273
|
# # │ A ┆ 2 ┆ l │
|
3405
3274
|
# # └─────┴─────┴─────┘, shape: (2, 3)
|
3406
3275
|
# # ┌─────┬─────┬─────┐
|
@@ -3409,7 +3278,6 @@ module Polars
|
|
3409
3278
|
# # │ str ┆ i64 ┆ str │
|
3410
3279
|
# # ╞═════╪═════╪═════╡
|
3411
3280
|
# # │ B ┆ 2 ┆ m │
|
3412
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3413
3281
|
# # │ B ┆ 4 ┆ m │
|
3414
3282
|
# # └─────┴─────┴─────┘, shape: (1, 3)
|
3415
3283
|
# # ┌─────┬─────┬─────┐
|
@@ -3430,7 +3298,6 @@ module Polars
|
|
3430
3298
|
# # │ str ┆ i64 ┆ str │
|
3431
3299
|
# # ╞═════╪═════╪═════╡
|
3432
3300
|
# # │ A ┆ 1 ┆ k │
|
3433
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3434
3301
|
# # │ A ┆ 2 ┆ l │
|
3435
3302
|
# # └─────┴─────┴─────┘, "B"=>shape: (2, 3)
|
3436
3303
|
# # ┌─────┬─────┬─────┐
|
@@ -3439,7 +3306,6 @@ module Polars
|
|
3439
3306
|
# # │ str ┆ i64 ┆ str │
|
3440
3307
|
# # ╞═════╪═════╪═════╡
|
3441
3308
|
# # │ B ┆ 2 ┆ m │
|
3442
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3443
3309
|
# # │ B ┆ 4 ┆ m │
|
3444
3310
|
# # └─────┴─────┴─────┘, "C"=>shape: (1, 3)
|
3445
3311
|
# # ┌─────┬─────┬─────┐
|
@@ -3499,9 +3365,7 @@ module Polars
|
|
3499
3365
|
# # │ i64 ┆ i64 ┆ str │
|
3500
3366
|
# # ╞══════╪══════╪══════╡
|
3501
3367
|
# # │ null ┆ null ┆ null │
|
3502
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3503
3368
|
# # │ 1 ┆ 6 ┆ a │
|
3504
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3505
3369
|
# # │ 2 ┆ 7 ┆ b │
|
3506
3370
|
# # └──────┴──────┴──────┘
|
3507
3371
|
#
|
@@ -3515,9 +3379,7 @@ module Polars
|
|
3515
3379
|
# # │ i64 ┆ i64 ┆ str │
|
3516
3380
|
# # ╞══════╪══════╪══════╡
|
3517
3381
|
# # │ 2 ┆ 7 ┆ b │
|
3518
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3519
3382
|
# # │ 3 ┆ 8 ┆ c │
|
3520
|
-
# # ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
|
3521
3383
|
# # │ null ┆ null ┆ null │
|
3522
3384
|
# # └──────┴──────┴──────┘
|
3523
3385
|
def shift(periods)
|
@@ -3550,9 +3412,7 @@ module Polars
|
|
3550
3412
|
# # │ i64 ┆ i64 ┆ str │
|
3551
3413
|
# # ╞═════╪═════╪═════╡
|
3552
3414
|
# # │ 0 ┆ 0 ┆ 0 │
|
3553
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3554
3415
|
# # │ 1 ┆ 6 ┆ a │
|
3555
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
3556
3416
|
# # │ 2 ┆ 7 ┆ b │
|
3557
3417
|
# # └─────┴─────┴─────┘
|
3558
3418
|
def shift_and_fill(periods, fill_value)
|
@@ -3642,9 +3502,7 @@ module Polars
|
|
3642
3502
|
# # │ i64 │
|
3643
3503
|
# # ╞═════╡
|
3644
3504
|
# # │ 1 │
|
3645
|
-
# # ├╌╌╌╌╌┤
|
3646
3505
|
# # │ 2 │
|
3647
|
-
# # ├╌╌╌╌╌┤
|
3648
3506
|
# # │ 3 │
|
3649
3507
|
# # └─────┘
|
3650
3508
|
#
|
@@ -3658,9 +3516,7 @@ module Polars
|
|
3658
3516
|
# # │ i64 ┆ i64 │
|
3659
3517
|
# # ╞═════╪═════╡
|
3660
3518
|
# # │ 1 ┆ 6 │
|
3661
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
3662
3519
|
# # │ 2 ┆ 7 │
|
3663
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
3664
3520
|
# # │ 3 ┆ 8 │
|
3665
3521
|
# # └─────┴─────┘
|
3666
3522
|
#
|
@@ -3674,9 +3530,7 @@ module Polars
|
|
3674
3530
|
# # │ i64 │
|
3675
3531
|
# # ╞═════╡
|
3676
3532
|
# # │ 2 │
|
3677
|
-
# # ├╌╌╌╌╌┤
|
3678
3533
|
# # │ 3 │
|
3679
|
-
# # ├╌╌╌╌╌┤
|
3680
3534
|
# # │ 4 │
|
3681
3535
|
# # └─────┘
|
3682
3536
|
#
|
@@ -3690,9 +3544,7 @@ module Polars
|
|
3690
3544
|
# # │ i64 ┆ i64 │
|
3691
3545
|
# # ╞═════╪═════╡
|
3692
3546
|
# # │ 2 ┆ 7 │
|
3693
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
3694
3547
|
# # │ 3 ┆ 8 │
|
3695
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
3696
3548
|
# # │ 4 ┆ 9 │
|
3697
3549
|
# # └─────┴─────┘
|
3698
3550
|
#
|
@@ -3706,9 +3558,7 @@ module Polars
|
|
3706
3558
|
# # │ i64 │
|
3707
3559
|
# # ╞═════════╡
|
3708
3560
|
# # │ 0 │
|
3709
|
-
# # ├╌╌╌╌╌╌╌╌╌┤
|
3710
3561
|
# # │ 0 │
|
3711
|
-
# # ├╌╌╌╌╌╌╌╌╌┤
|
3712
3562
|
# # │ 10 │
|
3713
3563
|
# # └─────────┘
|
3714
3564
|
def select(exprs)
|
@@ -3750,11 +3600,8 @@ module Polars
|
|
3750
3600
|
# # │ i64 ┆ f64 ┆ bool ┆ f64 ┆ f64 ┆ bool │
|
3751
3601
|
# # ╞═════╪══════╪═══════╪══════╪══════╪═══════╡
|
3752
3602
|
# # │ 1 ┆ 0.5 ┆ true ┆ 1.0 ┆ 0.25 ┆ false │
|
3753
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3754
3603
|
# # │ 2 ┆ 4.0 ┆ true ┆ 4.0 ┆ 2.0 ┆ false │
|
3755
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3756
3604
|
# # │ 3 ┆ 10.0 ┆ false ┆ 9.0 ┆ 5.0 ┆ true │
|
3757
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
3758
3605
|
# # │ 4 ┆ 13.0 ┆ true ┆ 16.0 ┆ 6.5 ┆ false │
|
3759
3606
|
# # └─────┴──────┴───────┴──────┴──────┴───────┘
|
3760
3607
|
def with_columns(exprs)
|
@@ -4137,14 +3984,13 @@ module Polars
|
|
4137
3984
|
# # │ u8 ┆ u8 ┆ u8 ┆ u8 ┆ u8 ┆ u8 │
|
4138
3985
|
# # ╞═══════╪═══════╪═══════╪═══════╪═══════╪═══════╡
|
4139
3986
|
# # │ 1 ┆ 0 ┆ 1 ┆ 0 ┆ 1 ┆ 0 │
|
4140
|
-
# # ├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
4141
3987
|
# # │ 0 ┆ 1 ┆ 0 ┆ 1 ┆ 0 ┆ 1 │
|
4142
3988
|
# # └───────┴───────┴───────┴───────┴───────┴───────┘
|
4143
|
-
def to_dummies(columns: nil)
|
3989
|
+
def to_dummies(columns: nil, separator: "_")
|
4144
3990
|
if columns.is_a?(String)
|
4145
3991
|
columns = [columns]
|
4146
3992
|
end
|
4147
|
-
_from_rbdf(_df.to_dummies(columns))
|
3993
|
+
_from_rbdf(_df.to_dummies(columns, separator))
|
4148
3994
|
end
|
4149
3995
|
|
4150
3996
|
# Drop duplicate rows from this DataFrame.
|
@@ -4180,13 +4026,9 @@ module Polars
|
|
4180
4026
|
# # │ i64 ┆ f64 ┆ bool │
|
4181
4027
|
# # ╞═════╪═════╪═══════╡
|
4182
4028
|
# # │ 1 ┆ 0.5 ┆ true │
|
4183
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
4184
4029
|
# # │ 2 ┆ 1.0 ┆ true │
|
4185
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
4186
4030
|
# # │ 3 ┆ 2.0 ┆ false │
|
4187
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
4188
4031
|
# # │ 4 ┆ 3.0 ┆ true │
|
4189
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
4190
4032
|
# # │ 5 ┆ 3.0 ┆ true │
|
4191
4033
|
# # └─────┴─────┴───────┘
|
4192
4034
|
def unique(maintain_order: true, subset: nil, keep: "first")
|
@@ -4320,7 +4162,6 @@ module Polars
|
|
4320
4162
|
# # │ i64 ┆ i64 ┆ str │
|
4321
4163
|
# # ╞═════╪═════╪═════╡
|
4322
4164
|
# # │ 3 ┆ 8 ┆ c │
|
4323
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
|
4324
4165
|
# # │ 2 ┆ 7 ┆ b │
|
4325
4166
|
# # └─────┴─────┴─────┘
|
4326
4167
|
def sample(
|
@@ -4440,6 +4281,10 @@ module Polars
|
|
4440
4281
|
# Row index.
|
4441
4282
|
# @param by_predicate [Object]
|
4442
4283
|
# Select the row according to a given expression/predicate.
|
4284
|
+
# @param named [Boolean]
|
4285
|
+
# Return a hash instead of an array. The hash is a mapping of
|
4286
|
+
# column name to row value. This is more expensive than returning an
|
4287
|
+
# array, but allows for accessing values by column name.
|
4443
4288
|
#
|
4444
4289
|
# @return [Object]
|
4445
4290
|
#
|
@@ -4462,25 +4307,44 @@ module Polars
|
|
4462
4307
|
# df.row(2)
|
4463
4308
|
# # => [3, 8, "c"]
|
4464
4309
|
#
|
4310
|
+
# @example Get a hash instead with a mapping of column names to row values
|
4311
|
+
# df.row(2, named: true)
|
4312
|
+
# # => {"foo"=>3, "bar"=>8, "ham"=>"c"}
|
4313
|
+
#
|
4465
4314
|
# @example Return the row that matches the given predicate
|
4466
4315
|
# df.row(by_predicate: Polars.col("ham") == "b")
|
4467
4316
|
# # => [2, 7, "b"]
|
4468
|
-
def row(index = nil, by_predicate: nil)
|
4317
|
+
def row(index = nil, by_predicate: nil, named: false)
|
4469
4318
|
if !index.nil? && !by_predicate.nil?
|
4470
4319
|
raise ArgumentError, "Cannot set both 'index' and 'by_predicate'; mutually exclusive"
|
4471
4320
|
elsif index.is_a?(Expr)
|
4472
4321
|
raise TypeError, "Expressions should be passed to the 'by_predicate' param"
|
4473
|
-
|
4474
|
-
|
4475
|
-
|
4322
|
+
end
|
4323
|
+
|
4324
|
+
if !index.nil?
|
4325
|
+
row = _df.row_tuple(index)
|
4326
|
+
if named
|
4327
|
+
columns.zip(row).to_h
|
4328
|
+
else
|
4329
|
+
row
|
4330
|
+
end
|
4331
|
+
elsif !by_predicate.nil?
|
4332
|
+
if !by_predicate.is_a?(Expr)
|
4333
|
+
raise TypeError, "Expected by_predicate to be an expression; found #{by_predicate.class.name}"
|
4334
|
+
end
|
4476
4335
|
rows = filter(by_predicate).rows
|
4477
4336
|
n_rows = rows.length
|
4478
4337
|
if n_rows > 1
|
4479
4338
|
raise TooManyRowsReturned, "Predicate #{by_predicate} returned #{n_rows} rows"
|
4480
4339
|
elsif n_rows == 0
|
4481
|
-
raise NoRowsReturned, "Predicate
|
4340
|
+
raise NoRowsReturned, "Predicate #{by_predicate} returned no rows"
|
4341
|
+
end
|
4342
|
+
row = rows[0]
|
4343
|
+
if named
|
4344
|
+
columns.zip(row).to_h
|
4345
|
+
else
|
4346
|
+
row
|
4482
4347
|
end
|
4483
|
-
rows[0]
|
4484
4348
|
else
|
4485
4349
|
raise ArgumentError, "One of 'index' or 'by_predicate' must be set"
|
4486
4350
|
end
|
@@ -4488,6 +4352,11 @@ module Polars
|
|
4488
4352
|
|
4489
4353
|
# Convert columnar data to rows as Ruby arrays.
|
4490
4354
|
#
|
4355
|
+
# @param named [Boolean]
|
4356
|
+
# Return hashes instead of arrays. The hashes are a mapping of
|
4357
|
+
# column name to row value. This is more expensive than returning an
|
4358
|
+
# array, but allows for accessing values by column name.
|
4359
|
+
#
|
4491
4360
|
# @return [Array]
|
4492
4361
|
#
|
4493
4362
|
# @example
|
@@ -4499,8 +4368,79 @@ module Polars
|
|
4499
4368
|
# )
|
4500
4369
|
# df.rows
|
4501
4370
|
# # => [[1, 2], [3, 4], [5, 6]]
|
4502
|
-
|
4503
|
-
|
4371
|
+
# @example
|
4372
|
+
# df.rows(named: true)
|
4373
|
+
# # => [{"a"=>1, "b"=>2}, {"a"=>3, "b"=>4}, {"a"=>5, "b"=>6}]
|
4374
|
+
def rows(named: false)
|
4375
|
+
if named
|
4376
|
+
columns = columns()
|
4377
|
+
_df.row_tuples.map do |v|
|
4378
|
+
columns.zip(v).to_h
|
4379
|
+
end
|
4380
|
+
else
|
4381
|
+
_df.row_tuples
|
4382
|
+
end
|
4383
|
+
end
|
4384
|
+
|
4385
|
+
# Returns an iterator over the DataFrame of rows of python-native values.
|
4386
|
+
#
|
4387
|
+
# @param named [Boolean]
|
4388
|
+
# Return hashes instead of arrays. The hashes are a mapping of
|
4389
|
+
# column name to row value. This is more expensive than returning an
|
4390
|
+
# array, but allows for accessing values by column name.
|
4391
|
+
# @param buffer_size [Integer]
|
4392
|
+
# Determines the number of rows that are buffered internally while iterating
|
4393
|
+
# over the data; you should only modify this in very specific cases where the
|
4394
|
+
# default value is determined not to be a good fit to your access pattern, as
|
4395
|
+
# the speedup from using the buffer is significant (~2-4x). Setting this
|
4396
|
+
# value to zero disables row buffering.
|
4397
|
+
#
|
4398
|
+
# @return [Object]
|
4399
|
+
#
|
4400
|
+
# @example
|
4401
|
+
# df = Polars::DataFrame.new(
|
4402
|
+
# {
|
4403
|
+
# "a" => [1, 3, 5],
|
4404
|
+
# "b" => [2, 4, 6]
|
4405
|
+
# }
|
4406
|
+
# )
|
4407
|
+
# df.iter_rows.map { |row| row[0] }
|
4408
|
+
# # => [1, 3, 5]
|
4409
|
+
#
|
4410
|
+
# @example
|
4411
|
+
# df.iter_rows(named: true).map { |row| row["b"] }
|
4412
|
+
# # => [2, 4, 6]
|
4413
|
+
def iter_rows(named: false, buffer_size: 500, &block)
|
4414
|
+
return to_enum(:iter_rows, named: named, buffer_size: buffer_size) unless block_given?
|
4415
|
+
|
4416
|
+
# load into the local namespace for a modest performance boost in the hot loops
|
4417
|
+
columns = columns()
|
4418
|
+
|
4419
|
+
# note: buffering rows results in a 2-4x speedup over individual calls
|
4420
|
+
# to ".row(i)", so it should only be disabled in extremely specific cases.
|
4421
|
+
if buffer_size
|
4422
|
+
offset = 0
|
4423
|
+
while offset < height
|
4424
|
+
zerocopy_slice = slice(offset, buffer_size)
|
4425
|
+
rows_chunk = zerocopy_slice.rows(named: false)
|
4426
|
+
if named
|
4427
|
+
rows_chunk.each do |row|
|
4428
|
+
yield columns.zip(row).to_h
|
4429
|
+
end
|
4430
|
+
else
|
4431
|
+
rows_chunk.each(&block)
|
4432
|
+
end
|
4433
|
+
offset += buffer_size
|
4434
|
+
end
|
4435
|
+
elsif named
|
4436
|
+
height.times do |i|
|
4437
|
+
yield columns.zip(row(i)).to_h
|
4438
|
+
end
|
4439
|
+
else
|
4440
|
+
height.times do |i|
|
4441
|
+
yield row(i)
|
4442
|
+
end
|
4443
|
+
end
|
4504
4444
|
end
|
4505
4445
|
|
4506
4446
|
# Shrink DataFrame memory usage.
|
@@ -4534,7 +4474,6 @@ module Polars
|
|
4534
4474
|
# # │ i64 ┆ i64 │
|
4535
4475
|
# # ╞═════╪═════╡
|
4536
4476
|
# # │ 1 ┆ 5 │
|
4537
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌┤
|
4538
4477
|
# # │ 3 ┆ 7 │
|
4539
4478
|
# # └─────┴─────┘
|
4540
4479
|
def take_every(n)
|
@@ -4602,11 +4541,8 @@ module Polars
|
|
4602
4541
|
# # │ i64 ┆ i64 ┆ i64 │
|
4603
4542
|
# # ╞═════╪══════╪═════╡
|
4604
4543
|
# # │ 1 ┆ 6 ┆ 1 │
|
4605
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌┤
|
4606
4544
|
# # │ 5 ┆ 7 ┆ 3 │
|
4607
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌┤
|
4608
4545
|
# # │ 9 ┆ 9 ┆ 6 │
|
4609
|
-
# # ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌┤
|
4610
4546
|
# # │ 10 ┆ null ┆ 9 │
|
4611
4547
|
# # └─────┴──────┴─────┘
|
4612
4548
|
def interpolate
|
@@ -4687,7 +4623,6 @@ module Polars
|
|
4687
4623
|
# # │ str ┆ i64 ┆ str ┆ bool ┆ list[i64] ┆ str │
|
4688
4624
|
# # ╞════════╪═════╪═════╪══════╪═══════════╪═══════╡
|
4689
4625
|
# # │ foo ┆ 1 ┆ a ┆ true ┆ [1, 2] ┆ baz │
|
4690
|
-
# # ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
|
4691
4626
|
# # │ bar ┆ 2 ┆ b ┆ null ┆ [3] ┆ womp │
|
4692
4627
|
# # └────────┴─────┴─────┴──────┴───────────┴───────┘
|
4693
4628
|
def unnest(names)
|