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

David Suárez david.suarez en yahoo.com
Lun Ago 3 21:54:35 EDT 2020


Lamentablemente no pude bajar el csv. El sitio me pedía crear una cuenta
antes para poder bajarlo >:-/ pero si lo compartes por Dropbox o Google
Drive sería mejor.

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

> Hice un leve intento de usar DataFrame, me costó un poco pero supongo que
> debo sentarme y practicar más el tema de pandas.
> Voy a probar lo que me dijiste.
> Dejo link dónde está el csv: gavade.csv
> <https://www.4shared.com/file/2-ZFJqmVea/gavade.html>
> Muchas gracias
>
>
> El lun., 3 ago. 2020 a las 20:13, David Suárez vía Python-es (<
> python-es en python.org>) escribió:
>
>> 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
>>>
>> _______________________________________________
>> 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/f0580ce1/attachment.html>


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