h2oai / h2oai/datatable

Implement Array[T] column type

Open
#1,692 0 comments 0 reactions 1 assignee Claimed by @st-pasha View on GitHub
EPIC :star: new feature
Dominant language
C++
Stars
1.9k
Forks
164
Avg merge
7h 31m
Merged PRs (30d)
1

Description

Array column is a column where each element is a list (array) of items. We will support `arr32` and `arr64` types, and the elements in each array will have arbitrary types.

Array columns can be implemented in a way similar to strings: as a list of offsets into a column of some other type. For str32/str64 stypes this "other column" is really just a `char*` string data section; for arrays, it will be a generic column of type `T`. Otherwise, arrays are not too different from strings.

The reason we need arrays is so that we can support string split function and regular expression matches. The operators we can support for arrays are:
- [ ] extract an item from an array
- [ ] concatenate arrays
- [ ] slice an array
- [ ] append something to the array
- [ ] sort each array
- [ ] string-join values in the array
- [ ] use array in a format string (e.g. "$0-$1-$2 $3:$4" to format a 5-element array as a time string)
- [ ] make array out of several columns
- [ ] expand array into columns
- [ ] "melt" array into rows (essentially, retrieve the "content" column)

----
- [x] #3050
- [x] #3052
- [x] #3053
- [x] #3054
- [x] #3116
- [ ] #3117
- [ ] #3118
- [x] #3119
- [x] #3120
- [x] #3121
- [x] #3122
- [ ] #3123
- [x] #3113
- [x] #3124

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.