Python - No puedo utilizar replace en una columna con listas dentro.

 
Vista:
sin imagen de perfil

No puedo utilizar replace en una columna con listas dentro.

Publicado por María (2 intervenciones) el 23/07/2022 12:17:03
Hola.
Tengo una columna donde cada valor es una lista (columna '_verifications'):
verifications

Cuando convierto la columna en una lista me da este resultado:

["['email', 'phone', 'reviews', 'manual_offline', 'jumio', 'offline_government_id', 'government_id']",
"['email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']",
"['email', 'phone']",
"['email', 'phone', 'reviews', 'jumio', 'government_id']",
"['email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']"]

Necesito poder eliminar los corchetes y las comillas.

Ya intenté usar replace antes de convertirla a lista, usando este código:
verify['_verifications']=verify['_verifications'].replace(['[',']'],['',''])
pero no cambia nada.

También lo convertí a lista y usé .join, pero no me funciona.
Necesito que las palabras queden en una sola lista, de esta manera:

['email', 'phone', 'reviews', 'manual_offline', 'jumio', 'offline_government_id', 'government_id',
'email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual',
'email', 'phone','email', 'phone', 'reviews', 'jumio', 'government_id','email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']

Agradaceré muchísimo su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No puedo utilizar replace en una columna con listas dentro.

Publicado por Costero (92 intervenciones) el 23/07/2022 22:04:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
list = ["['email', 'phone', 'reviews', 'manual_offline', 'jumio', 'offline_government_id', 'government_id']",
        "['email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']",
        "['email', 'phone']",
        "['email', 'phone', 'reviews', 'jumio', 'government_id']",
        "['email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']"]
 
new_list = []
 
for value in list:
    values = value.split(",")
    for v in values:
        new_list.append(v.replace("[", "").replace("]", "").replace("\'", "").strip())
 
print(new_list)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

No puedo utilizar replace en una columna con listas dentro.

Publicado por María (2 intervenciones) el 27/07/2022 18:12:55
Muchísimas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No puedo utilizar replace en una columna con listas dentro.

Publicado por tincopasan (1082 intervenciones) el 27/07/2022 21:10:10
Viendo que ya lo solucionaron muestro otra forma:
1
2
3
4
5
6
7
8
9
10
11
#-*- coding: utf  -8 -*-
from ast import literal_eval
 
lista=["['email', 'phone', 'reviews', 'manual_offline', 'jumio', 'offline_government_id', 'government_id']",
"['email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']",
"['email', 'phone']",
"['email', 'phone', 'reviews', 'jumio', 'government_id']",
"['email', 'phone', 'reviews', 'jumio', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']"]
 
nueva=[x for _ in lista for x in literal_eval(_)]
print(nueva)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar