错误描述
由于pandas column中存在NaN,在用ast.literal_eval进行,出现ValueError: malformed node or string
错误原因
ast模块是帮助Python应用来处理抽象的语法解析的,如果输入不是合法的Python数据类型,则ast.literal_eval将引发异常。
根据文档,ast.literal_eval()的input只能是字符或节点,且只能由以下Python文本结构组成:字符串、数字、元组、列表、dicts、boolean和None。ps: pandas的NAN实质是float类型,所以报错。
解决方案
简易版
对每个实体都先设置为str数据类型
from ast import literal_eval
df['column_2']