Add KDocs for `concat` APIs
- Dominant language
- Kotlin
- Stars
- 1.1k
- Forks
- 83
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 30
Description
## Add KDocs for `concat` APIs
`core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/concat.kt` contains many public `concat` APIs, but only a small subset has KDocs.
Add concise and accurate KDocs for the public overloads and make sure existing KDocs are consistent with the implementation and site docs:
https://kotlin.github.io/dataframe/concat.html
### Scope
Add or improve KDocs for:
- `DataFrame.concat(vararg frames: DataFrame)`
- `DataFrame.concat(rows: Iterable>)`
- `DataFrame.concat(frames: Iterable>)`
- `DataFrame concat frame: DataFrame`
- `DataColumn.concat(vararg other: DataColumn)`
- `DataColumn>.concat()`
- `DataColumn>.concat()`
- `DataRow.concat(vararg rows: DataRow)`
- `GroupBy.concat()`
- `GroupBy.concatWithKeys()`
- `ReducedGroupBy.concat()`
- `Iterable>.concat()`
- `Iterable>.concat()`
- `Iterable?>.concat()`
### KDoc should explain
- What is concatenated: dataframes, rows, columns, frame columns, grouped data, or iterables.
- Whether row/value/order is preserved.
- How schemas are unified when dataframes or rows have different columns.
- That missing columns are filled with `null`.
- What name/type is used for concatenated columns.
- The difference between `GroupBy.concat()` and `GroupBy.concatWithKeys()`.
- Behavior for empty iterables, empty dataframes, and nullable rows where applicable.
### Existing KDoc cleanup
Check and fix existing KDocs if needed.
In particular, `GroupBy.concat()` should not mention additional key columns if keys are not included in the result. That behavior belongs to `concatWithKeys()`.
### Acceptance criteria
- Public `concat` overloads have concise KDocs.
- Existing KDocs are accurate and not misleading.
- KDocs are consistent with implementation behavior and site docs.
- `GroupBy.concat()` and `concatWithKeys()` are clearly distinguished.
- Schema unification and missing-column behavior are documented.
Contributor guide
Assessment
This issue has not been assessed yet.