Linear pipeline operations.
Linear pipeline operations.
(->array colname)
(->array colname datatype)
Convert numerical column(s) to java array
Convert numerical column(s) to java array
(add-column column-name column)
(add-column column-name column size-strategy)
Add or update (modify) column under column-name
.
column
can be sequence of values or generator function (which gets ds
as input).
ds
- a datasetcolumn-name
- if it's existing column name, column will be replacedcolumn
- can be column (from other dataset), sequence, single value or function. Too big columns are always trimmed. Too small are cycled or extended with missing values (according to size-strategy
argument)size-strategy
(optional) - when new column is shorter than dataset row count, following strategies are applied:
:cycle
- repeat data:na
- append missing values:strict
- (default) throws an exception when sizes mismatchAdd or update (modify) column under `column-name`. `column` can be sequence of values or generator function (which gets `ds` as input). * `ds` - a dataset * `column-name` - if it's existing column name, column will be replaced * `column` - can be column (from other dataset), sequence, single value or function. Too big columns are always trimmed. Too small are cycled or extended with missing values (according to `size-strategy` argument) * `size-strategy` (optional) - when new column is shorter than dataset row count, following strategies are applied: - `:cycle` - repeat data - `:na` - append missing values - `:strict` - (default) throws an exception when sizes mismatch
(add-columns columns-map)
(add-columns columns-map size-strategy)
Add or updade (modify) columns defined in columns-map
(mapping: name -> column)
Add or updade (modify) columns defined in `columns-map` (mapping: name -> column)
(add-or-replace-column column-name column)
(add-or-replace-column column-name column size-strategy)
(add-or-replace-columns columns-map)
(add-or-replace-columns columns-map size-strategy)
(aggregate aggregator)
(aggregate aggregator options)
Aggregate dataset by providing:
Aggregation functions can return:
Aggregate dataset by providing: - aggregation function - map with column names and functions - sequence of aggregation functions Aggregation functions can return: - single value - seq of values - map of values with column names
(aggregate-columns columns-selector column-aggregators)
(aggregate-columns columns-selector column-aggregators options)
Aggregates each column separately
Aggregates each column separately
(anti-join ds-right columns-selector)
(anti-join ds-right columns-selector options)
(as-regular-dataset)
Remove grouping tag
Remove grouping tag
(by-rank columns-selector rank-predicate)
(by-rank columns-selector rank-predicate options)
Select rows using rank
on a column, ties are resolved using :dense
method.
See R docs. Rank uses 0 based indexing.
Possible :ties
strategies: :average
, :first
, :last
, :random
, :min
, :max
, :dense
.
:dense
is the same as in data.table::frank
from R
:desc?
set to true (default) order descending before calculating rank
Select rows using `rank` on a column, ties are resolved using `:dense` method. See [R docs](https://www.rdocumentation.org/packages/base/versions/3.6.1/topics/rank). Rank uses 0 based indexing. Possible `:ties` strategies: `:average`, `:first`, `:last`, `:random`, `:min`, `:max`, `:dense`. `:dense` is the same as in `data.table::frank` from R `:desc?` set to true (default) order descending before calculating rank
(clone)
Clone an object. Can clone anything convertible to a reader.
Clone an object. Can clone anything convertible to a reader.
(column-names)
(column-names columns-selector)
(column-names columns-selector meta-field)
(columns)
(columns result-type)
Returns columns of dataset. Result type can be any of:
:as-map
:as-double-arrays
:as-seqs
Returns columns of dataset. Result type can be any of: * `:as-map` * `:as-double-arrays` * `:as-seqs`
(convert-types coltype-map-or-columns-selector)
(convert-types columns-selector new-types)
Convert type of the column to the other type.
Convert type of the column to the other type.
(dataset->str)
(dataset->str options)
Convert a dataset to a string. Prints a single line header and then calls dataset-data->str.
For options documentation see dataset-data->str.
Convert a dataset to a string. Prints a single line header and then calls dataset-data->str. For options documentation see dataset-data->str.
(drop columns-selector rows-selector)
Drop columns and rows.
Drop columns and rows.
(drop-columns)
(drop-columns columns-selector)
(drop-columns columns-selector meta-field)
Drop columns by (returns dataset):
Drop columns by (returns dataset): - name - sequence of names - map of names with new names (rename) - function which filter names (via column metadata)
(drop-missing)
(drop-missing columns-selector)
Drop rows with missing values
columns-selector
selects columns to look at missing values
Drop rows with missing values `columns-selector` selects columns to look at missing values
(drop-rows)
(drop-rows rows-selector)
(drop-rows rows-selector options)
Drop rows using:
Drop rows using: - row id - seq of row ids - seq of true/false - fn with predicate
(fill-range-replace colname max-span)
(fill-range-replace colname max-span missing-strategy)
(fill-range-replace colname max-span missing-strategy missing-value)
(full-join ds-right columns-selector)
(full-join ds-right columns-selector options)
(group-by grouping-selector)
(group-by grouping-selector options)
Group dataset by:
Options are:
select-keys
seq.:as-dataset
, default) or as map of datasets (:as-map
) or as map of row indexes (:as-indexes
) or as sequence of (sub)datasetsdataset
fnWhen dataset is returned, meta contains :grouped?
set to true. Columns in dataset:
Group dataset by: - column name - list of columns - map of keys and row indexes - function getting map of values Options are: - select-keys - when grouping is done by function, you can limit fields to a `select-keys` seq. - result-type - return results as dataset (`:as-dataset`, default) or as map of datasets (`:as-map`) or as map of row indexes (`:as-indexes`) or as sequence of (sub)datasets - other parameters which are passed to `dataset` fn When dataset is returned, meta contains `:grouped?` set to true. Columns in dataset: - name - group name - group-id - id of the group (int) - data - group as dataset
(grouped?)
Is dataset
represents grouped dataset (result of group-by
)?
Is `dataset` represents grouped dataset (result of `group-by`)?
(groups->map)
Convert grouped dataset to the map of groups
Convert grouped dataset to the map of groups
(inner-join ds-right columns-selector)
(inner-join ds-right columns-selector options)
(join-columns target-column columns-selector)
(join-columns target-column columns-selector conf)
(left-join ds-right columns-selector)
(left-join ds-right columns-selector options)
(map-columns column-name map-fn)
(map-columns column-name columns-selector map-fn)
(map-columns column-name new-type columns-selector map-fn)
(order-by columns-or-fn)
(order-by columns-or-fn comparators)
(order-by columns-or-fn comparators options)
Order dataset by:
Order dataset by: - column name - columns (as sequence of names) - key-fn - sequence of columns / key-fn Additionally you can ask the order by: - :asc - :desc - custom comparator function
(pivot->longer)
(pivot->longer columns-selector)
(pivot->longer columns-selector options)
tidyr
pivot_longer api
`tidyr` pivot_longer api
(pivot->wider columns-selector value-columns)
(pivot->wider columns-selector value-columns options)
(rename-columns columns-mapping)
(rename-columns columns-selector columns-map-fn)
Rename columns with provided old -> new name map
Rename columns with provided old -> new name map
(reorder-columns columns-selector & args)
Reorder columns using column selector(s). When column names are incomplete, the missing will be attached at the end.
Reorder columns using column selector(s). When column names are incomplete, the missing will be attached at the end.
(replace-missing)
(replace-missing strategy)
(replace-missing columns-selector strategy)
(replace-missing columns-selector strategy value)
(right-join ds-right columns-selector)
(right-join ds-right columns-selector options)
(rows)
(rows result-type)
Returns rows of dataset. Result type can be any of:
:as-maps
:as-double-arrays
:as-seqs
Returns rows of dataset. Result type can be any of: * `:as-maps` * `:as-double-arrays` * `:as-seqs`
(select columns-selector rows-selector)
Select columns and rows.
Select columns and rows.
(select-columns)
(select-columns columns-selector)
(select-columns columns-selector meta-field)
Select columns by (returns dataset):
Select columns by (returns dataset): - name - sequence of names - map of names with new names (rename) - function which filter names (via column metadata)
(select-missing)
(select-missing columns-selector)
Select rows with missing values
columns-selector
selects columns to look at missing values
Select rows with missing values `columns-selector` selects columns to look at missing values
(select-rows)
(select-rows rows-selector)
(select-rows rows-selector options)
Select rows using:
Select rows using: - row id - seq of row ids - seq of true/false - fn with predicate
(semi-join ds-right columns-selector)
(semi-join ds-right columns-selector options)
(separate-column column separator)
(separate-column column target-columns separator)
(separate-column column target-columns separator conf)
(shape)
Returns shape of the dataset [rows, cols]
Returns shape of the dataset [rows, cols]
(split)
(split split-type)
(split split-type opts)
Split given dataset into 2 or more (holdout) splits
As the result two new columns are added:
:$split-name
- with subgroup name:$split-id
- fold id/repetition idsplit-type
can be one of the following:
:kfold
- k-fold strategy, :k
defines number of folds (defaults to 5
), produces k
splits:bootstrap
- :ratio
defines ratio of observations put into result (defaults to 1.0
), produces 1
split:holdout
- split into two parts with given ratio (defaults to 2/3
), produces 1
split:loo
- leave one out, produces the same number of splits as number of observations:holdout
can accept also probabilites or ratios and can split to more than 2 subdatasets
Additionally you can provide:
:seed
- for random number generator:repeats
- repeat procedure :repeats
times:partition-selector
- same as in group-by
for stratified splitting to reflect dataset structure in splits.:split-names
names of subdatasets different than default, ie. [:train :test :split-2 ...]
:split-col-name
- a column where name of split is stored, either :train
or :test
values (default: :$split-name
):split-id-col-name
- a column where id of the train/test pair is stored (default: :$split-id
)Rows are shuffled before splitting.
In case of grouped dataset each group is processed separately.
See more
Split given dataset into 2 or more (holdout) splits As the result two new columns are added: * `:$split-name` - with subgroup name * `:$split-id` - fold id/repetition id `split-type` can be one of the following: * `:kfold` - k-fold strategy, `:k` defines number of folds (defaults to `5`), produces `k` splits * `:bootstrap` - `:ratio` defines ratio of observations put into result (defaults to `1.0`), produces `1` split * `:holdout` - split into two parts with given ratio (defaults to `2/3`), produces `1` split * `:loo` - leave one out, produces the same number of splits as number of observations `:holdout` can accept also probabilites or ratios and can split to more than 2 subdatasets Additionally you can provide: * `:seed` - for random number generator * `:repeats` - repeat procedure `:repeats` times * `:partition-selector` - same as in `group-by` for stratified splitting to reflect dataset structure in splits. * `:split-names` names of subdatasets different than default, ie. `[:train :test :split-2 ...]` * `:split-col-name` - a column where name of split is stored, either `:train` or `:test` values (default: `:$split-name`) * `:split-id-col-name` - a column where id of the train/test pair is stored (default: `:$split-id`) Rows are shuffled before splitting. In case of grouped dataset each group is processed separately. See [more](https://www.mitpressjournals.org/doi/pdf/10.1162/EVCO_a_00069)
(split->seq)
(split->seq split-type)
(split->seq split-type opts)
Returns split as a sequence of train/test datasets or map of sequences (grouped dataset)
Returns split as a sequence of train/test datasets or map of sequences (grouped dataset)
(ungroup)
(ungroup options)
Concat groups into dataset.
When add-group-as-column
or add-group-id-as-column
is set to true
or name(s), columns with group name(s) or group id is added to the result.
Before joining the groups groups can be sorted by group name.
Concat groups into dataset. When `add-group-as-column` or `add-group-id-as-column` is set to `true` or name(s), columns with group name(s) or group id is added to the result. Before joining the groups groups can be sorted by group name.
(update-columns columns-map)
(update-columns columns-selector update-functions)
(write! output-path)
(write! output-path options)
Write a dataset out to a file. Supported forms are:
(ds/write! test-ds "test.csv")
(ds/write! test-ds "test.tsv")
(ds/write! test-ds "test.tsv.gz")
(ds/write! test-ds "test.nippy")
(ds/write! test-ds out-stream)
Options:
:max-chars-per-column
- csv,tsv specific, defaults to 65536 - values longer than this will
cause an exception during serialization.:max-num-columns
- csv,tsv specific, defaults to 8192 - If the dataset has more than this number of
columns an exception will be thrown during serialization.:quoted-columns
- csv specific - sequence of columns names that you would like to always have quoted.:file-type
- Manually specify the file type. This is usually inferred from the filename but if you
pass in an output stream then you will need to specify the file type.:headers?
- if csv headers are written, defaults to true.Write a dataset out to a file. Supported forms are: ```clojure (ds/write! test-ds "test.csv") (ds/write! test-ds "test.tsv") (ds/write! test-ds "test.tsv.gz") (ds/write! test-ds "test.nippy") (ds/write! test-ds out-stream) ``` Options: * `:max-chars-per-column` - csv,tsv specific, defaults to 65536 - values longer than this will cause an exception during serialization. * `:max-num-columns` - csv,tsv specific, defaults to 8192 - If the dataset has more than this number of columns an exception will be thrown during serialization. * `:quoted-columns` - csv specific - sequence of columns names that you would like to always have quoted. * `:file-type` - Manually specify the file type. This is usually inferred from the filename but if you pass in an output stream then you will need to specify the file type. * `:headers?` - if csv headers are written, defaults to true.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close