Generar columna de ID única en pandas

Tengo un marco de datos con tres columnas,bins_x, bins_y yz. Deseo agregar una nueva columnaunique que es un "índice" para esa combinación única debins_x ybins_y. A continuación se muestra un ejemplo de lo que me gustaría agregar.

Tenga en cuenta que pedí el marco de datos para mayor claridad, pero el orden no importa en este contexto.

import numpy as np
import pandas as pd
np.random.seed(12)
n = 1000
height = 20
width = 20
bins_x = np.random.randint(1, width, size=n)
bins_y = np.random.randint(1, height, size=n)
z = np.random.randint(1, 500, size=n)

df = pd.DataFrame({'bins_x': bins_x, 'bins_y': bins_y, 'z': z})
print(df.sort_values(['bins_x', 'bins_y'])



     bins_x  bins_y    z   unique
23        0       0  462   0
531       0       0  199   1
665       0       0  176   2
363       0       1  219   0
468       0       1  450   1
593       0       1  385   2
609       0       1   74   3
663       0       1   46   4
14        0       2  242   0
208       0       2  381   1
600       0       2  445   2
865       0       2  221   3
400       0       3  178   0
75        0       4  281   0
140       0       4  205   1
282       0       4   47   2
838       0       4  212   3

Respuestas a la pregunta(1)

Su respuesta a la pregunta