uke
1 Reference
(require uke) | package: uke-lib |
Contains all bindings from uke/dataframe, uke/column, and uke/index.
1.1 Dataframe
(require uke/dataframe) | package: uke-lib |
procedure
(dataframe? v) → boolean?
v : any/c
procedure
(make-dataframe cols #:index index) → dataframe?
cols : (listof column?) index : index?
procedure
df : dataframe?
procedure
(dataframe-index-update df update/f) → dataframe?
df : dataframe? update/f : (-> index? index?)
procedure
(dataframe-column*-update df update/f) → dataframe?
df : dataframe? update/f : (-> (listof column?) (listof column?))
procedure
(dataframe-columns df) → (listof column?)
df : dataframe?
procedure
(dataframe-column-ref df col-name fail) → any
df : dataframe? col-name : symbol? fail : (-> any)
procedure
(dataframe-column*-ref df col-name fail success) → any df : dataframe? col-name : symbols? fail : (-> any) success : (-> column? any)
procedure
(dataframe-column-lift df combine col-name ...) → (-> nonnegative-integer? any) df : dataframe? combine : (-> any/c ... any) col-name : symbol?
procedure
(dataframe-add-column* df cols ...) → dataframe?
df : dataframe? cols : column?
procedure
(dataframe-remove-column* df col-name ...) → dataframe?
df : dataframe? col-name : symbol?
procedure
(dataframe-reorder-column df col-names) → dataframe?
df : dataframe? col-names : (listof symbol?)
procedure
(dataframe-reverse-rows df) → dataframe?
df : dataframe?
procedure
(dataframe-compact? df) → boolean?
df : dataframe?
procedure
(dataframe-compact df) → dataframe?
df : dataframe?
procedure
(dataframe-select df choose?) → dataframe?
df : dataframe? choose? : (-> nonnegative-integer? boolean?)
procedure
(dataframe-slice df start [size]) → dataframe?
df : dataframe? start : nonnegative-integer?
size : nonnegative-integer? = (- (dataframe-num-rows df) start)
procedure
(dataframe-group-index df key/f)
→ (hash/c any/c (listof nonnegative-integer?)) df : dataframe? key/f : (-> nonnegative-integer? any/c)
procedure
(dataframe-group df key/f [aggr/f]) → dataframe?
df : dataframe? key/f : (-> nonnegative-integer? any/c) aggr/f : (-> dataframe? any/c) = values
procedure
(dataframe-left-join dfl keyl removel dfr keyr remover) → dataframe? dfl : dataframe? keyl : (-> nonnegative-integer? any/c) removel : (listof symbol?) dfr : dataframe? keyr : (-> nonnegative-integer? any/c) remover : (listof symbol?)
procedure
(dataframe-cell-ref df col-name i) → any/c
df : dataframe? col-name : symbol? i : nonnegative-integer?
procedure
(dataframe-cell-ref* df-index col-name i) → any/c
df-index : index? col-name : symbol? i : nonnegative-integer?
syntax
(for/dataframe (column ...+) (for-clause ...) body-or-break ... body)
syntax
(for*/dataframe (column ...+) (for-clause ...) body-or-break ... body)
column = column-name | (column-name column-property ...) column-property = property-name property-value
syntax
(row-df (column ...+) elems ...)
syntax
(column-df (column elems ...) ...+)
1.2 Column
(require uke/column) | package: uke-lib |
procedure
v : any/c
procedure
(make-column name index store [ #:properties props #:projection proj]) → any name : symbol? index : index? store : store? props : (hash/c keyword? any/c) = (hash) proj : (or/c (-> any/c any/c) #f) = #f
procedure
col1 : column? col2 : column?
procedure
idx1 : index? col1 : column? idx2 : index? col2 : column?
procedure
(column-name column) → symbol?
column : column?
procedure
(column-size column) → nonnegative-integer?
column : column?
procedure
(column-index column) → index?
column : column?
procedure
(column-properties column) → (hash/c keyword? any/c)
column : column?
procedure
(column-projection column) → (or/c (-> any/c any/c) #f)
column : column?
procedure
(column-store column) → store?
column : column?
procedure
(column-name-update column update-name) → column?
column : column? update-name : (-> symbol? symbol?)
procedure
(column-index-update column update-index) → column?
column : column? update-index : (-> index? index?)
procedure
(column-properties-update column update-properties) → column? column : column?
update-properties :
(-> (hash/c keyword? any) (hash/c keyword? any))
procedure
(column-projection-update column update-projection) → column? column : column?
update-projection :
(-> (or/c (-> any/c any/c) #f) (or/c (-> any/c any/c) #f))
procedure
(column-ref column i) → any/c
column : column? i : nonnegative-integer?
procedure
(column-property-ref column property-name [ default]) → any/c column : column? property-name : keyword? default : failure-result/c = #f
procedure
(column-push-index column index) → column?
column : column? index : index?
procedure
(column-compact? column) → boolean?
column : column?
procedure
(column-compact column) → column?
column : column?
procedure
(column-slice column start [size]) → columns?
column : column? start : nonnegative-integer? size : nonnegative-integer? = (- (column-size col) start)
procedure
(column-render-cell column v) → string?
column : column? v : any/c
1.2.1 More Column Constructors
procedure
(build-column name size build [ #:properties props #:projection proj]) → column? name : symbol? size : nonnegative-integer? build : (-> nonnegative-integer? any/c) props : (hash/c keyword? any/c) = (hash) proj : (or/c (-> any/c any/c) #f) = #f
procedure
(->column name sequence [ #:properties props #:projection proj]) → column? name : symbol? sequence : sequence? props : (hash/c keyword? any/c) = (hash) proj : (or/c (-> any/c any/c) #f) = #f
procedure
(vector->column name vec [ #:properties props #:projection proj]) → column? name : symbol? vec : vector? props : (hash/c keyword? any/c) = (hash) proj : (or/c (-> any/c any/c) #f) = #f
procedure
(sequence->column name sequence [ #:properties props #:projection proj]) → column? name : symbol? sequence : sequence? props : (hash/c keyword? any/c) = (hash) proj : (or/c (-> any/c any/c) #f) = #f
1.3 Index
(require uke/index) | package: uke-lib |
procedure
v : any/c
procedure
(index-size idx) → nonnegative-integer?
idx : index?
procedure
(index-compose i1 i2 ...) → index?
i1 : index? i2 : index?
procedure
(index-max-range idx) → nonnegative-integer?
idx : index?
procedure
(index-compact?) → any/c
procedure
(index-ref idx nonnegative-integer?) → nonnegative-integer?
idx : index? nonnegative-integer? : i
procedure
(in-indices idx) → (sequence/c nonnegative-integer?)
idx : index?
procedure
(index-pick idx i*) → index?
idx : index? i* : (sequence/c nonnegative-integer?)
procedure
(index-select idx pred?) → index?
idx : index? pred? : (-> nonnegative-integer? boolean?)
procedure
(index-extract idx [ #:indices indices #:select select/f #:transform transform/f]) → index? idx : index? indices : (sequence/c nonnegative-integer?) = (in-indices idx) select/f : (-> nonnegative-integer? boolean?) = (λ (i) #true)
transform/f : (-> nonnegative-integer? nonnegative-integer?) = values
procedure
(index-slice idx start [size]) → index?
idx : index? start : nonnegative-integer? size : nonnegative-integer? = (- (index-size idx) start)
procedure
(index-reverse idx) → index?
idx : index?
procedure
(index-sort idx lt?) → index?
idx : index?
lt? :
(-> nonnegative-integer? nonnegative-integer? boolean?)
procedure
(vector-index? v) → boolean?
v : any/c
procedure
(make-vector-index vec) → vector-index?
vec : vector?
procedure
(linear-index? v) → boolean?
v : any/c
procedure
(make-linear-index size [offset stride]) → linear-index?
size : nonnegative-integer? offset : nonnegative-integer? = 0 stride : integer? = 1
procedure
idx : linear-index?
procedure
(linear-index-stride idx) → integer?
idx : linear-index?
1.4 Store
(require uke/store) | package: uke-lib |
procedure
v : any/c
procedure
s : store?
procedure
s : store? i : nonnegative-integer?
procedure
(store-copy s) → store?
s : store?
procedure
(store-append s1 s2) → store?
s1 : store? s2 : store?
1.5 Exceptions
(require uke/error) | package: uke-lib |
struct
struct
(struct uke:exn:dataframe uke:exn ())
struct
(struct uke:exn:column uke:exn ())
struct
(struct uke:exn:index uke:exn ())
1.6 Machete
(require uke/machete) | package: uke-machete |
qi syntax
(create [column-name column-property ... (input-column-names ...) flow] ...)
column-property = property-name property-value
qi syntax
qi syntax
slice-spec = everything | id | str | regexp | (or slice-spec ...+) | (and slice-spec ...+) | (not slice-spec)
procedure
df : dataframe? nrows : nonnegative-integer? = 10 widths : (listof nonnegative-integer?) = null
2 Changelog
2.1 2025.4.22
Base level documentation of core API completed
Expose "uke/store" library
Remove dataframe-column-lift inlining
Use more efficient projection for csv->dataframe
2.2 2025.3.14
Initial Racket Package release