tft.bucketize_per_key

Returns a bucketized column, with a bucket index assigned to each input.

x A numeric input Tensor, SparseTensor, or RaggedTensor with rank 1, whose values should be mapped to buckets. CompositeTensors will have their non-missing values mapped and missing values left as missing.
key A Tensor, SparseTensor, or RaggedTensor with the same shape as x and dtype tf.string. If x is a CompositeTensor, key must exactly match x in everything except values, i.e. indices and dense_shape or nested row splits must be identical.
num_buckets Values in the input x are divided into approximately equal-sized buckets, where the number of buckets is num_buckets.
epsilon (Optional) see bucketize.
weights (Optional) A Tensor, SparseTensor, or RaggedTensor with the same shape as x and dtype tf.float32. Used as weights for quantiles calculation. If x is a CompositeTensor, weights must exactly match x in everything except values.
name (Optional) A name for this operation.

A Tensor, SparseTensor, or RaggedTensor of the same shape as x, with each element in the returned tensor representing the bucketized value. Bucketized value is in the range [0, actual_num_buckets). If the computed key vocabulary doesn't have an entry for key then the resulting bucket is -1.

ValueError If value of num_buckets is not > 1.