Mi problema es el siguiente:
Tengo una lista de referencias, direcciones de la referencia y la ciudad de la referencia (el ejemplo se comparte a continuación).
Mi tabla tiene aproximadamente 7000 líneas, las referencias son todas únicas, algunas de ellas están en la misma ciudad y comparten la misma dirección.
Me gustaría saber si es posible seleccionar 700 o más referencias al azar, pero para cada dirección cree un límite de 5 referencias por dirección.
No me importa tener duplicados aleatorios pero no puedo tener en una ciudad concreta 55 de 700 referencias de la misma dirección/calle.
¿Alguien puede darme algunos consejos?
Muestra:
https://drive.google.com/file/d/1IhcVWtPqu2TiGH1xDFGBUauBm6w1OEyM/view?usp=sharing
+---------------------------+-----------------------------------+---------------+
| Reference | Address | City |
+---------------------------+-----------------------------------+---------------+
| 140120.00001.01.01.01 | EN 2-4 | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00004.01.02.01 | EN 2-4 | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00006.01.01.01 | R. NOSSA SENHORA DA CONCEIÇÃO | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00010.01.01.01 | AV. DAS FORÇAS ARMADAS | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00010.01.02.01 | AV. DAS FORÇAS ARMADAS | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00012.01.01.01 | AV. 25 DE ABRIL | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00013.01.02.01 | AV. DAS FORÇAS ARMADAS | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00015.01.01.01 | AV. 25 DE ABRIL | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00016.01.01.01 | AV. DAS FORÇAS ARMADAS | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00016.01.02.01 | AV. DAS FORÇAS ARMADAS | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00018.01.01.01 | R. SOLANO DE ABREU | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00019.01.01.01 | AV. 25 DE ABRIL | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00020.01.01.01 | AV. 25 DE ABRIL | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00025.01.01.01 | EN 3 | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 010121.00038.01.01.01 | R. JOAQUIM VALENTE DE ALMEIDA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00038.01.02.01 | R. JOAQUIM VALENTE DE ALMEIDA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00042.01.01.01 | R. 12 DE DEZEMBRO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00057.01.01.01 | R. 15 DE AGOSTO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00058.01.01.01 | R. MANUEL SOUSA CARNEIRO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00060.01.01.01 | AV. 25 DE ABRI L | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00060.01.02.01 | AV. 25 DE ABRIL | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00061.01.01.01 | R. TEN.-COR. ALBANO MELO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00063.01.01.01 | AV. 25 DE ABRIL | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00066.01.01.01 | AV. 25 DE ABRIL | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00069.01.01.01 | R. GUSTAVO PIMENTA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00071.01.01.01 | R. JOSÉ DE SUCENA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010124.00062.01.02.01 | R. CABEDO E LENCASTRE | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 000150.11559.01.01.01 | PQ. DE ESTACIONAMENTO | ALGARVE SHOPPING |
+---------------------------+-----------------------------------+---------------+
| 080106.00085.01.02.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
| 080106.00089.01.01.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
| 080106.00089.01.02.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
| 080106.00091.01.02.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
| 080106.00092.01.01.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
| 080106.00092.01.02.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
Ejemplo de selección final de 17 referencias de 35 de la muestra:
En esta muestra de 34 líneas, es posible que desee 20 referencias. No me importa, tengo 2 duplicados, pero 5 de 20 "AV. DOS DESCOBRIMENTOS", eso es un problema. Entonces, en este caso, me gustaría tener una condición de máximo 2 direcciones idénticas por ciudad.
+---------------------------+-----------------------------------+---------------+
| Reference | Address | City |
+---------------------------+-----------------------------------+---------------+
| 140120.00001.01.01.01 | EN 2-4 | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00006.01.01.01 | R. NOSSA SENHORA DA CONCEIÇÃO | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00010.01.01.01 | AV. DAS FORÇAS ARMADAS | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00012.01.01.01 | AV. 25 DE ABRIL | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00018.01.01.01 | R. SOLANO DE ABREU | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 140120.00025.01.01.01 | EN 3 | ABRANTES |
+---------------------------+-----------------------------------+---------------+
| 010121.00038.01.02.01 | R. JOAQUIM VALENTE DE ALMEIDA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00042.01.01.01 | R. 12 DE DEZEMBRO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00057.01.01.01 | R. 15 DE AGOSTO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00058.01.01.01 | R. MANUEL SOUSA CARNEIRO | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00060.01.01.01 | AV. 25 DE ABRIL | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00069.01.01.01 | R. GUSTAVO PIMENTA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010121.00071.01.01.01 | R. JOSÉ DE SUCENA | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 010124.00062.01.02.01 | R. CABEDO E LENCASTRE | AGUEDA |
+---------------------------+-----------------------------------+---------------+
| 000150.11559.01.01.01 | PQ. DE ESTACIONAMENTO | ALGARVE |
+---------------------------+-----------------------------------+---------------+
| 080106.00085.01.02.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+
| 080106.00089.01.01.01 | AV. DOS DESCOBRIMENTOS | ALBUFEIRA |
+---------------------------+-----------------------------------+---------------+