---
title: RowGrouping
framework: tabulardata
role: symbol
role_heading: Structure
path: tabulardata/rowgrouping
---

# RowGrouping

A collection of row selections that have the same value in a column.

## Declaration

```swift
struct RowGrouping<GroupingKey> where GroupingKey : Hashable
```

## Topics

### Creating a Row Grouping

- [init(frame:columnName:timeUnit:)](tabulardata/rowgrouping/init(frame:columnname:timeunit:).md)
- [init(groups:groupKeysColumnName:)](tabulardata/rowgrouping/init(groups:groupkeyscolumnname:).md)

### Inspecting a Row Grouping

- [count](tabulardata/rowgrouping/count.md)
- [subscript(_:)](tabulardata/rowgrouping/subscript(_:)-5z2eg.md)

### Transforming a Row Grouping

- [mapGroups(_:)](tabulardata/rowgrouping/mapgroups(_:).md)

### Splitting a Row Grouping

- [randomSplit(by:seed:)](tabulardata/rowgrouping/randomsplit(by:seed:).md)

### Aggregating a Row Grouping

- [counts(order:)](tabulardata/rowgrouping/counts(order:).md)
- [aggregated(on:naming:transform:)](tabulardata/rowgrouping/aggregated(on:naming:transform:).md)

### Flattening a Row Grouping

- [ungrouped()](tabulardata/rowgrouping/ungrouped().md)

### Summarizing a Row Grouping

- [summary()](tabulardata/rowgrouping/summary().md)
- [summary(of:)](tabulardata/rowgrouping/summary(of:).md)
- [GroupSummaries](tabulardata/groupsummaries.md)

### Describing a Row Grouping

- [description](tabulardata/rowgrouping/description.md)

### Subscripts

- [subscript(_:)](tabulardata/rowgrouping/subscript(_:)-2xxs8.md)

### Default Implementations

- [Collection Implementations](tabulardata/rowgrouping/collection-implementations.md)
- [RandomAccessCollection Implementations](tabulardata/rowgrouping/randomaccesscollection-implementations.md)
- [RowGroupingProtocol Implementations](tabulardata/rowgrouping/rowgroupingprotocol-implementations.md)

## Relationships

### Conforms To

- [BidirectionalCollection](swift/bidirectionalcollection.md)
- [Collection](swift/collection.md)
- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Escapable](swift/escapable.md)
- [RandomAccessCollection](swift/randomaccesscollection.md)
- [RowGroupingProtocol](tabulardata/rowgroupingprotocol.md)
- [Sequence](swift/sequence.md)

## See Also

### Grouping Rows

- [grouped(by:)](tabulardata/dataframe/grouped(by:).md)
- [RowGroupingProtocol](tabulardata/rowgroupingprotocol.md)
