[pyar] Columna con lista en dataframe

Augusto Tononi adtononi en gmail.com
Lun Ene 15 11:10:56 ART 2018


Muchísimas gracias a todos!

Con la última respuesta, la de Ariel, pude resolver el problema. Usé
literal_eval, importado desde ast, y corrió sin problemas

Gracias!

El 15 de enero de 2018, 8:54, Ariel Rossanigo <arielrossanigo en gmail.com>
escribió:

> El 14 de enero de 2018, 19:41, Augusto Tononi<adtononi en gmail.com>
> escribió:
>
>> Gracias por responder Ariel.
>> Eso me sirve, es lo que buscaba. Pero ahora me doy cuenta que la lista
>> está dentro de "", por lo que sería un String. O sea
>> dataset['Audiencias'] me devuelve "[u'14',u'58',....] y no podría
>> aplicarlo
>>
>
> Con el apply "aplicas" una función cualquiera a, por ejemplo, una columna.
> En esa función vos podes hacer lo que quieras.
>
> Por ejemplo:
>
> In [2]: df = pd.DataFrame({"c1": [
>    ...:     "[u'1087',  u'129', u'42', u'144', u'150', u'42']",
>    ...:     "[u'3013', u'3014', u'3015', u'42', u'302', u'3039']",
>    ...:     "[u'3055', u'314', u'3450', u'352', u'36', u'42', u'3844']",
>    ...:     "[u'3913', u'460', u'5', u'42', u'42', u'569', u'6731',
> u'735']"
>    ...: ]})
>
> In [3]: def f(value):
>    ...:     l = eval(value)  # hacer algo inteligente en lugar de esto
>    ...:     return len([x for x in l if x==u'42'])
>    ...:
>    ...: f= df.c1.apply(f)
>    ...: f
>    ...:
> Out[3]:
> 0    2
> 1    1
> 2    1
> 3    2
> Name: c1, dtype: int64
>
> En f, value toma cada uno de los valores de la columna c1. Por las dudas,
> eval lo usé para el ejemplo, si los datos vienen de un csv (o casi
> cualquier otro escenario), usar eval no es seguro. Tratá de evitarlo.
>
> Saludos
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180115/5e471f61/attachment.html>


Más información sobre la lista de distribución pyar