我从数据库加载一个数据帧,并有一个dict列,如下所示:
id some_value ... coordinates
15 34.7 {'type': 'Point', 'coordinates': [-3.2, 37.0]}
但是,当我使用pd.to_csv()将数据帧保存到磁盘,然后重新读取它时,包含坐标的列不是dict,而是一个字符串:
id some_value ... coordinates
15 34.7 "{'type': 'Point', 'coordinates': [-3.2, 37.0]}"
我怎样才能让熊猫把这篇专栏当作一篇文章来读,或者我怎样才能把这篇文章转换成一篇文章呢?
最佳答案
使用df['coordinates'].map(ast.literal_eval)
In [2333]: import ast
In [2334]: type(df.coordinates[0])
Out[2334]: str
In [2335]: df['coordinates'] = df['coordinates'].map(ast.literal_eval)
In [2336]: type(df.coordinates[0])
Out[2336]: dict
In [2337]: df
Out[2337]:
id some_value coordinates
0 15 34.7 {u'type': u'Point', u'coordinates': [-3.2, 37.0]}
关于python - Pandas df.to_csv()将字典值另存为字符串。调用pd.read_csv()时如何找回命令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46756019/