首页 > 解决方案 > 将数据框中的列从字符串类型转换为元组

问题描述

我有一个数据框“数据”,其中有一列“城市”似乎是一个元组。但是,当我尝试访问它的元素时,它会出现在字符串中。如下所示:

data.city[0]

输出是:

“(0,['纽约','德里','曼谷'])”

显然,所有项目都是字符串格式。

我希望输出如下:

(0, ['纽约', '德里', '曼谷'])

我怎样才能做到这一点?

谢谢

标签: pythonstringpandas

解决方案


您可以使用ast.literal_eval

import ast
x = ast.literal_eval("(0, ['New York', 'Delhi', 'Bangkok'])")
print(x)
print(type(x))

输出:

(0, ['New York', 'Delhi', 'Bangkok'])
<class 'tuple'>

在您的情况下,您可以使用:

data.city = data.city.apply(ast.literal_eval)

推荐阅读