[英]Convert a string which is list to list
I have a data frame like 我有一个数据框
query
-----------
[]
[(apple,10),(orange,15)]
[(apple,2),(orange,5)]
python is reading this as a string instead of a list because when I do df['query'].apply(lambda x: len(x))
I get 2 instead of 0 for the first row. python将其读取为字符串而不是列表,因为当我执行df['query'].apply(lambda x: len(x))
,第一行得到2而不是0。 Is there a way to convert this to a list. 有没有一种方法可以将其转换为列表。
You can use apply() : 您可以使用apply() :
df['query'] = df['query'].apply(lambda x: x.strip('[]').split(','))
os, by list comprehension: 操作系统,通过列表理解:
df['query'] = [x.strip('[]').split(',') for x in df['query']]
or, use ast.literal_eval() : 或者,使用ast.literal_eval() :
import ast
df['query'] = df['query'].apply(lambda x: ast.literal_eval(x))
or, 要么,
df['query'] = df['query'].apply(ast.literal_eval)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.