Hola a todos, tengo la siguiente necesidad:
Encontrar una combinación de valores pertenecientes a una colección cuyo
resultado sea un numero determinado.
Algo así:
id target valores
1 100 20
1 100 30
1 100 50
1 100 15
1 100 45
1 100 60
2 150 75
2 150 75
2 150 100
3 1500 900
3 1500 500
3 1500 600
Hola Manuel:
No se si entendí bien tu pregunta, pero para lo que necesitas se me ocurre
que puedes usar pandas:
from io import StringIO
import pandas as pd
DATA="""id,target,valores
1,100,20
1,100,30
1,100,50
1,100,15
1,100,45
1,100,60
2,150,75
2,150,75
2,150,100
3,1500,900
3,1500,500
3,1500,60
Hola gracias por tu sugerencia.
Lo que necesito es por ejemplo:
para el ID 1 el target es 100,
entonces ¿cuáles son los números del ID 1 que puedan sumar 100 ?
20, 30, 50, 15, 45, 60
20 + 30 + 50 = 100
Lo que tu sugieres es que sume primero todos los números para cierto ID y
luego valide si esa
.
>
> Lo que necesito es por ejemplo:
>
> para el ID 1 el target es 100,
>
> entonces ¿cuáles son los números del ID 1 que puedan sumar 100 ?
> 20, 30, 50, 15, 45, 60
> 20 + 30 + 50 = 100
>
En primera aproximaci'on, yo lo intentar'ia con una funci'on recursiva.
___
El 8 de febrero de 2018, 23:26, Manuel A. Estevez Fernandez <
stvz...@gmail.com> escribió:
> Hola gracias por tu sugerencia.
>
> Lo que necesito es por ejemplo:
>
> para el ID 1 el target es 100,
>
> entonces ¿cuáles son los números del ID 1 que puedan sumar 100 ?
> 20, 30, 50, 15, 45, 60
> 20 + 3
La forma eficiente de resolver el problema es usando programación dinámica
(dynamic programming), y es equivalente a uno de los problemas clásicos:
dar cambio en monedas. Hay mucha documentación al respecto, sobre todo en
inglés.
Un par de enlaces, sin garantía de calidad:
https://interactivepyth
Gracias por la respuesta, al principio intenté algo así, sin embargo con
listas de 1000 / 2000 valores se vuelve muy pesado.
Manuel Alejandro Estévez Fernández
El 9 de febrero de 2018, 7:08, Chema Cortes escribió:
> El 8 de febrero de 2018, 23:26, Manuel A. Estevez Fernandez <
> stvz...@gma
Gracias por el dato, voy a intentarlo.
Saludos.
Manuel Alejandro Estévez Fernández
El 9 de febrero de 2018, 8:06, Daπid escribió:
> La forma eficiente de resolver el problema es usando programación dinámica
> (dynamic programming), y es equivalente a uno de los problemas clásicos:
> dar cam
El 9 de febrero de 2018, 19:30, Manuel A. Estevez Fernandez
escribió:
> Gracias por la respuesta, al principio intenté algo así, sin embargo con
> listas de 1000 / 2000 valores se vuelve muy pesado.
>
>
>
?
> Manuel Alejandro Estévez Fernández
>
>
>
> El 9 de febrero de 2018, 7:08, Chema Cor
El 9 de febrero de 2018, 19:31, Manuel A. Estevez Fernandez<
stvz...@gmail.com> escribió:
> Gracias por el dato, voy a intentarlo.
> Saludos.
>
>
? ¿A quién contestas?
>
>
> Manuel Alejandro Estévez Fernández
>
>
>
> El 9 de febrero de 2018, 8:06, Daπid escribió:
>
>> La forma eficiente de
10 matches
Mail list logo