我在pandas数据框中的某个列的类型有问题.基本上,该列以字符串形式保存在csv文件中,我想将其用作元组,以便能够将其转换为数字列表.接下来是一个非常简单的csv:
ID,LABELS
1,"(1.0,2.0,2.0,3.0,3.0,1.0,4.0)"
2,"(1.0,2.0,2.0,3.0,3.0,1.0,4.0)"
如果使用“ read_csv”函数加载它,则会得到字符串列表.我试图转换为列表,但是得到了字符串的列表版本:
df.LABELS.apply(lambda x: list(x))
收益:
['(','1','.','0',.,.,.,.,.,'4','.','0',')']
关于如何做到这一点的任何想法?
谢谢.
解决方法:
您可以使用ast.literal_eval,这将给您一个元组:
import ast
df.LABELS = df.LABELS.apply(ast.literal_eval)
如果确实需要列表,请使用:
df.LABELS.apply(lambda s: list(ast.literal_eval(s)))