Python 将列表中的字符串转换为列表
我有一个像这样的数据框Python 将列表中的字符串转换为列表,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个像这样的数据框 query ----------- [] [(apple,10),(orange,15)] [(apple,2),(orange,5)] python将其作为字符串而不是列表来读取,因为 df['query'].apply(lambda x:len(x)) 第一行我得到2而不是0。有没有办法将其转换为列表。您可以使用: 操作系统,按列表理解: df['query'] = [x.strip('[]').split(',') for x in df['query']] 或
query
-----------
[]
[(apple,10),(orange,15)]
[(apple,2),(orange,5)]
python将其作为字符串而不是列表来读取,因为
df['query'].apply(lambda x:len(x))
第一行我得到2而不是0。有没有办法将其转换为列表。您可以使用:
操作系统,按列表理解:
df['query'] = [x.strip('[]').split(',') for x in df['query']]
或使用:
或者
df['query'].apply(lambda x:len(ast.literal_eval(x)))
df['query'] = [x.strip('[]').split(',') for x in df['query']]
import ast
df['query'] = df['query'].apply(lambda x: ast.literal_eval(x))
df['query'] = df['query'].apply(ast.literal_eval)