Преобразовать строку из списка в список - PullRequest
0 голосов
/ 29 марта 2019

У меня есть фрейм данных типа

query
-----------
[]
[(apple,10),(orange,15)]
[(apple,2),(orange,5)]

. Python читает это как строку вместо списка, потому что, когда я делаю df['query'].apply(lambda x: len(x)), я получаю 2 вместо 0 для первой строки.Есть ли способ преобразовать это в список.

1 Ответ

1 голос
/ 29 марта 2019

Вы можете использовать apply () :

df['query'] = df['query'].apply(lambda x: x.strip('[]').split(','))

os, по списку:

df['query'] = [x.strip('[]').split(',') for x in df['query']]

или используйте ast.literal_eval () :

import ast
df['query'] = df['query'].apply(lambda x: ast.literal_eval(x))

или

df['query'] = df['query'].apply(ast.literal_eval)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...