[Python-es] [Consulta] lista .index()

Lemarchand Barker lemarchand8679 en gmail.com
Lun Ago 3 16:28:04 EDT 2020


Hola adjunto 2 capturas de pantalla para que vean más o menos el listado.
En realidad estoy probando esto porque; como mencioné antes estoy
jugando con esto. Mi idea es buscar los laboratorios que empiezan con
las distintas letras, ya que por ejemplo un mismo laboratorio figura
de 2 formas:
1) Abbott Diabetes
2) Abbott EPD
Y esto pasa con algunos otros laboratorios más, entonces por ejemplo
si no me acuerdo a qué Bayer se refiere determinado medicamento me
muestre las 2 opciones:
1) Bayer (PH)
2) Bayer Consumer
Se entiende?
Gracias, saludos

El lun., 3 ago. 2020 a las 16:45, Ricardo Cárdenes
(<ricardo.cardenes en gmail.com>) escribió:
>
> No podemos tener ni idea de la razón por la que te pasa esto, porque no te vemos el resto de tus datos. Aparentemente el número de laboratorio va incluido en el listado. Ideas que pueden contribuir:
>
> Tu listado empieza en "1". Ten en cuenta que los índices de las estructuras de Python empiezan en "0". Por tanto, en ese caso, tu "58" realmente se referiría a la posición "59" (contando desde 1)
> Tu listado tiene huecos. Si falta un número en la secuencia de los asignados a los laboratorios, combinado con lo anterior, ya explicaría por qué obtienes 58 en lugar de 60
>
> Solución: no uses .index para esto. Si el número de laboratorio aparece en el listado, en la misma fila, captúralo al mismo tiempo que el nombre.
>
> On Mon, Aug 3, 2020 at 9:02 AM Lemarchand Barker <lemarchand8679 en gmail.com> wrote:
>>
>> Buenas tardes, les hago una consulta. Sigo jugando con el archivo csv,
>> en este caso lo que hice fue crear una lista llamada laboratorios la
>> cual contiene el nombre de todos los laboratorios que figuran en el
>> archivo. Hasta ahí perfecto, el tema era el siguiente, yo ingreso el
>> nombre del laboratorio y vi que se usa index() para conocer la
>> posición de un valor contenido en la lista. Entonces decidí probar
>> ingresando el nombre de un laboratorio para ver si me da el índice:
>>
>> leer = pd.read_csv('gavade.csv')
>>
>> laboratorios = []
>>
>> for lab in leer.iloc[0:8122, 4]:
>>     laboratorios.append(lab)
>>
>> lab = input("Ingrese nombre del laboratorio: ")
>> print(laboratorios.index(lab))
>>
>> Cuando ejecuto se ve así:
>>
>> Ingrese nombre del laboratorio: Alcon
>> 58
>>
>> La cuestión es que en la posición 58, no figura el laboratorio que
>> ingresé. El orden es así:
>> 58 Abbott EPD
>> 59 Abbott EPD
>> 60 Alcon
>> 61 Alcon
>>
>> No entiendo, estoy usando mal la función o no se ajusta a lo que
>> necesito? Qué estoy haciendo mal?
>> Muchas gracias, saludos
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
------------ próxima parte ------------
Se ha borrado un mensaje adjunto que no está en formato texto plano...
Nombre     : img2.png
Tipo       : image/png
Tamaño     : 122699 bytes
Descripción: no disponible
Url        : <http://mail.python.org/pipermail/python-es/attachments/20200803/7060ce1e/attachment.png>
------------ próxima parte ------------
Se ha borrado un mensaje adjunto que no está en formato texto plano...
Nombre     : img.png
Tipo       : image/png
Tamaño     : 315696 bytes
Descripción: no disponible
Url        : <http://mail.python.org/pipermail/python-es/attachments/20200803/7060ce1e/attachment-0001.png>


Más información sobre la lista de distribución Python-es