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

David Suárez david.suarez en yahoo.com
Lun Ago 3 19:12:29 EDT 2020


Hola,

para ayudarte sería útil que nos compartieras al menos un fragmento de la
tabla, pero de entrada pienso que podrías jugar un poco con el argumento
*index_col* de read_csv y que en lugar de crear una lista con los nombres
de los laboratorios uses directamente el DataFrame de pandas para obtener
los datos.

Es difícil sin conocer la estructura de tus datos, pero algo así como el
siguiente código podría serte útil:
>>> posiciones = leer.Laboratorio == "Alcon" #Esto te devuelve un vector
lógico con True en aquellas posiciones donde el dato coincida con "Alcon"
>>> leer.Indice[posiciones] # Esto te devuelve un vector con los índices
(de tu archivo .csv) correspondientes al laboratorio Alcon. Algo
equivalente a la lista [60, 61, ...]

Haz la prueba y creo que si checas todas las prestaciones de Pandas ya no
querrás usar .index()

Saludos y espero que esto te ayude,
David

El lun., 3 de ago. de 2020 a la(s) 15:52, Lemarchand Barker (
lemarchand8679 en gmail.com) escribió:

> Parece que no pasó el mail. El csv se lee perfecto y la primer columna
> de la izquierda que sería el índice está ordenado, el único valor que
> es el código de cada uno de los medicamentos es el que va cambiando y
> no necesariamente es consecutivo, pero se los puede ordenar de menor a
> mayor que así es como figura. Pero el valor del índice, el que empieza
> con 0 y termina en 8122, cuando ingreso un nombre de laboratorio el
> índice que me da de resultado no coincide con el que figura en el csv.
> Gracias, saludos
>
> El lun., 3 ago. 2020 a las 17:22, Darío vía Python-es
> (<python-es en python.org>) escribió:
> >
> > Hola, a ver si entiendo lo que quisieras que haga. Ingresás un
> laboratorio, y que muestre la posición y el nombre del laboratorio en la
> misma línea (o los laboratorios) pero sólo obtenés el índice?
> >
> >
> >
> > PD: nunca voy a entender la necesidad o necedad de responder sin
> responder, ¡hay que tener ganas!
> >
> >
> > -
> >
> > Sent with ProtonMail Secure Email.
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > On Monday, 3 de August de 2020 16:01, 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
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200803/b559e668/attachment.html>


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