# tf.ragged.stack_dynamic_partitions

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.10.1/tensorflow/python/ops/ragged/ragged_array_ops.py#L573-L673) |

Stacks dynamic partitions of a Tensor or RaggedTensor.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.ragged.stack_dynamic_partitions`](https://www.tensorflow.org/api_docs/python/tf/ragged/stack_dynamic_partitions)

<br />

    tf.ragged.stack_dynamic_partitions(
        data, partitions, num_partitions, name=None
    )

Returns a RaggedTensor `output` with `num_partitions` rows, where the row
`output[i]` is formed by stacking all slices `data[j1...jN]` such that
`partitions[j1...jN] = i`. Slices of `data` are stacked in row-major
order.

If `num_partitions` is an `int` (not a `Tensor`), then this is equivalent to
`tf.ragged.stack(tf.dynamic_partition(data, partitions, num_partitions))`.

#### Example:

    data           = ['a', 'b', 'c', 'd', 'e']
    partitions     = [  3,   0,   2,   2,   3]
    num_partitions = 5
    tf.ragged.stack_dynamic_partitions(data, partitions, num_partitions)
    <tf.RaggedTensor [[b'b'], [], [b'c', b'd'], [b'a', b'e'], []]>

<br />

<br />

<br />

| ## Args ||
|---|---|
| `data` | A `Tensor` or `RaggedTensor` containing the values to stack. |
| `partitions` | An `int32` or `int64` `Tensor` or `RaggedTensor` specifying the partition that each slice of `data` should be added to. `partitions.shape` must be a prefix of `data.shape`. Values must be greater than or equal to zero, and less than `num_partitions`. `partitions` is not required to be sorted. |
| `num_partitions` | An `int32` or `int64` scalar specifying the number of partitions to output. This determines the number of rows in `output`. |
| `name` | A name prefix for the returned tensor (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `RaggedTensor` containing the stacked partitions. The returned tensor has the same dtype as `data`, and its shape is `[num_partitions, (D)] + data.shape[partitions.rank:]`, where `(D)` is a ragged dimension whose length is the number of data slices stacked for each `partition`. ||

<br />