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