df-script 1.8.0 → 2.0.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.
- package/README.md +153 -203
- package/dist/api.d.ts +41 -36
- package/dist/columnExpressions/ColumnExpr.d.ts +5 -8
- package/dist/columnExpressions/ExprBase.d.ts +7 -0
- package/dist/columnExpressions/constants.d.ts +1 -0
- package/dist/columnExpressions/functions/all.d.ts +13 -13
- package/dist/columnExpressions/functions/coalesce.d.ts +2 -2
- package/dist/columnExpressions/functions/duration.d.ts +16 -21
- package/dist/columnExpressions/functions/element.d.ts +10 -10
- package/dist/columnExpressions/functions/exclude.d.ts +14 -14
- package/dist/columnExpressions/functions/implode.d.ts +7 -7
- package/dist/columnExpressions/functions/lit.d.ts +9 -9
- package/dist/columnExpressions/functions/seqRange.d.ts +69 -0
- package/dist/columnExpressions/functions/struct.d.ts +6 -6
- package/dist/columnExpressions/functions/when.d.ts +31 -32
- package/dist/columnExpressions/index.d.ts +4 -7
- package/dist/columnExpressions/mixins/AggregationExpr.d.ts +672 -141
- package/dist/columnExpressions/mixins/ArithmeticExpr.d.ts +701 -327
- package/dist/columnExpressions/mixins/ArrayExpr.d.ts +543 -231
- package/dist/columnExpressions/mixins/ComparisonExpr.d.ts +398 -201
- package/dist/columnExpressions/mixins/LogicalExpr.d.ts +59 -29
- package/dist/columnExpressions/mixins/ManipulationExpr.d.ts +23 -9
- package/dist/columnExpressions/mixins/StandardExpr.d.ts +3234 -0
- package/dist/columnExpressions/mixins/StringExpr.d.ts +1299 -396
- package/dist/columnExpressions/mixins/StructExpr.d.ts +72 -30
- package/dist/columnExpressions/mixins/TemporalExpr.d.ts +518 -212
- package/dist/columnExpressions/mixins/WindowExpr.d.ts +270 -102
- package/dist/columnExpressions/typeInference.d.ts +13 -0
- package/dist/columnExpressions/types.d.ts +6 -1
- package/dist/columnExpressions/utils.d.ts +16 -0
- package/dist/constants.d.ts +38 -0
- package/dist/dataframe/dataframe.d.ts +755 -608
- package/dist/dataframe/grouped/grouped.d.ts +24 -6
- package/dist/dataframe/grouped.d.ts +70 -0
- package/dist/dataframe/index.d.ts +1 -1
- package/dist/dataframe/lazy.d.ts +37 -0
- package/dist/dataframe/types.d.ts +46 -22
- package/dist/dataframe/utils.d.ts +10 -4
- package/dist/datatypes/index.d.ts +11 -4
- package/dist/expressions.js +1 -0
- package/dist/expressions.mjs +1 -0
- package/dist/functions/concat.d.ts +68 -16
- package/dist/functions/index.d.ts +2 -2
- package/dist/functions/readCsv.d.ts +35 -0
- package/dist/functions/readJson.d.ts +33 -0
- package/dist/index.js +5 -6
- package/dist/index.mjs +5 -6
- package/dist/types.d.ts +148 -7
- package/dist/utils/array.d.ts +54 -18
- package/dist/utils/binary.d.ts +6 -2
- package/dist/utils/csv.d.ts +4 -1
- package/dist/utils/date.d.ts +3 -19
- package/dist/utils/duration.d.ts +7 -5
- package/dist/utils/json.d.ts +56 -2
- package/dist/utils/number.d.ts +5 -2
- package/dist/utils/object.d.ts +7 -12
- package/dist/utils/string.d.ts +83 -2
- package/dist/utils/table.d.ts +76 -0
- package/dist/utils.js +4 -0
- package/dist/utils.mjs +4 -0
- package/package.json +29 -8
- package/dist/assets/index-DBhGK6Tp.css +0 -1
- package/dist/assets/index-DEJEV_tU.js +0 -195
- package/dist/index.html +0 -17
|
@@ -1,64 +1,92 @@
|
|
|
1
1
|
import { ExprBase } from "../ExprBase";
|
|
2
|
-
import type { IntoExpr
|
|
2
|
+
import type { IntoExpr } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* @namespace $df.col.struct
|
|
5
5
|
* @category ColumnExpression
|
|
6
6
|
* @syntax $df.col(<column_name>).struct.{symbol}(...)
|
|
7
7
|
*/
|
|
8
8
|
export declare class StructExprNamespace {
|
|
9
|
-
expr:
|
|
10
|
-
constructor(expr:
|
|
9
|
+
expr: any;
|
|
10
|
+
constructor(expr: any);
|
|
11
11
|
/**
|
|
12
12
|
* Extracts a sub-field property value from nested objects/struct columns.
|
|
13
13
|
* @param name Name of the field key to extract.
|
|
14
14
|
* @returns ColumnExpression
|
|
15
15
|
* @example
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
* >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
|
|
17
|
+
* >>> df
|
|
18
|
+
* shape: (1, 1)
|
|
19
|
+
* ┌────────────────────────────────┐
|
|
20
|
+
* │ user │
|
|
21
|
+
* ├────────────────────────────────┤
|
|
22
|
+
* │ { name: "Alice", age: 30 } │
|
|
23
|
+
* └────────────────────────────────┘
|
|
24
|
+
* >>> df.withColumns($df.col("user").struct.field("name").alias("user_name"))
|
|
18
25
|
* shape: (1, 2)
|
|
19
|
-
*
|
|
20
|
-
* │ user
|
|
21
|
-
*
|
|
22
|
-
* │ { name: "Alice", id: 1 }│ Alice │
|
|
23
|
-
*
|
|
26
|
+
* ┌───────────────────────────┬───────────┐
|
|
27
|
+
* │ user │ user_name │
|
|
28
|
+
* ├───────────────────────────┼───────────┤
|
|
29
|
+
* │ { name: "Alice", id: 1 } │ Alice │
|
|
30
|
+
* └───────────────────────────┴───────────┘
|
|
24
31
|
*/
|
|
25
|
-
field(name: string):
|
|
32
|
+
field(name: string): any;
|
|
26
33
|
/**
|
|
27
34
|
* Renames existing field keys inside structured object columns.
|
|
28
35
|
* @param mapping Key-value map of current field names to new field names.
|
|
29
36
|
* @returns ColumnExpression
|
|
30
37
|
* @example
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
* >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
|
|
39
|
+
* >>> df
|
|
40
|
+
* shape: (1, 1)
|
|
41
|
+
* ┌────────────────────────────────┐
|
|
42
|
+
* │ user │
|
|
43
|
+
* ├────────────────────────────────┤
|
|
44
|
+
* │ { name: "Alice", age: 30 } │
|
|
45
|
+
* └────────────────────────────────┘
|
|
46
|
+
* >>> df.withColumns($df.col("user").struct.renameFields({ name: "first_name" }).alias("user_renamed"))
|
|
33
47
|
* shape: (1, 2)
|
|
34
|
-
*
|
|
35
|
-
* │ user
|
|
36
|
-
*
|
|
37
|
-
* │ {
|
|
38
|
-
*
|
|
48
|
+
* ┌───────────────────────────┬────────────────────────────────┐
|
|
49
|
+
* │ user │ user_renamed │
|
|
50
|
+
* ├───────────────────────────┼────────────────────────────────┤
|
|
51
|
+
* │ { name: "Alice", id: 1 } │ { id: 1, first_name: "Alice" } │
|
|
52
|
+
* └───────────────────────────┴────────────────────────────────┘
|
|
39
53
|
*/
|
|
40
|
-
|
|
54
|
+
renameFields(mapping: Record<string, string>): any;
|
|
41
55
|
/**
|
|
42
56
|
* Inserts or updates fields inside structured object columns.
|
|
43
57
|
* @param fields Expressions or field map defining new or updated fields.
|
|
44
58
|
* @returns ColumnExpression
|
|
45
59
|
* @throws {Error} If expressions passed without an alias or name.
|
|
46
60
|
* @example
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
61
|
+
* >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
|
|
62
|
+
* >>> df
|
|
63
|
+
* shape: (1, 1)
|
|
64
|
+
* ┌────────────────────────────────┐
|
|
65
|
+
* │ user │
|
|
66
|
+
* ├────────────────────────────────┤
|
|
67
|
+
* │ { name: "Alice", age: 30 } │
|
|
68
|
+
* └────────────────────────────────┘
|
|
69
|
+
* >>> df.withColumns($df.col("user").struct.withFields({ is_active: $df.lit(true) }).alias("updated_user"))
|
|
70
|
+
* shape: (1, 2)
|
|
71
|
+
* ┌──────────────────────────────┬───────────────────────────────────────────┐
|
|
72
|
+
* │ user │ updated_user │
|
|
73
|
+
* ├──────────────────────────────┼───────────────────────────────────────────┤
|
|
74
|
+
* │ { name: "Alice", age: 30 } │ { name: "Alice", age: 30, is_active: true }│
|
|
75
|
+
* └──────────────────────────────┴───────────────────────────────────────────┘
|
|
55
76
|
*/
|
|
56
|
-
|
|
77
|
+
withFields(fields: IntoExpr[] | Record<string, IntoExpr>): any;
|
|
57
78
|
/**
|
|
58
79
|
* Expands nested struct attributes into distinct columns in the DataFrame schema.
|
|
59
80
|
* @returns ColumnExpression
|
|
60
81
|
* @example
|
|
61
|
-
|
|
82
|
+
* >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
|
|
83
|
+
* >>> df
|
|
84
|
+
* shape: (1, 1)
|
|
85
|
+
* ┌────────────────────────────────┐
|
|
86
|
+
* │ user │
|
|
87
|
+
* ├────────────────────────────────┤
|
|
88
|
+
* │ { name: "Alice", age: 30 } │
|
|
89
|
+
* └────────────────────────────────┘
|
|
62
90
|
* >>> df.select($df.col("user").struct.unnest())
|
|
63
91
|
* shape: (1, 2)
|
|
64
92
|
* ┌───────┬─────┐
|
|
@@ -67,7 +95,7 @@ export declare class StructExprNamespace {
|
|
|
67
95
|
* │ Alice │ 30 │
|
|
68
96
|
* └───────┴─────┘
|
|
69
97
|
*/
|
|
70
|
-
unnest():
|
|
98
|
+
unnest(): any;
|
|
71
99
|
}
|
|
72
100
|
export interface StructExprNamespace {
|
|
73
101
|
[key: string]: any;
|
|
@@ -80,7 +108,21 @@ export declare class StructExpr extends ExprBase {
|
|
|
80
108
|
* @syntax $df.col(<column_name>).struct
|
|
81
109
|
* @returns StructExprNamespace
|
|
82
110
|
* @example
|
|
111
|
+
* >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
|
|
112
|
+
* >>> df
|
|
113
|
+
* shape: (1, 1)
|
|
114
|
+
* ┌────────────────────────────────┐
|
|
115
|
+
* │ user │
|
|
116
|
+
* ├────────────────────────────────┤
|
|
117
|
+
* │ { name: "Alice", age: 30 } │
|
|
118
|
+
* └────────────────────────────────┘
|
|
83
119
|
* >>> df.select($df.col("user").struct.field("name"))
|
|
120
|
+
* shape: (1, 1)
|
|
121
|
+
* ┌─────────┐
|
|
122
|
+
* │ name │
|
|
123
|
+
* ├─────────┤
|
|
124
|
+
* │ "Alice" │
|
|
125
|
+
* └─────────┘
|
|
84
126
|
*/
|
|
85
127
|
get struct(): StructExprNamespace;
|
|
86
128
|
}
|