python - 将数据框中的列从字符串类型转换为元组
问题描述
我有一个数据框“数据”,其中有一列“城市”似乎是一个元组。但是,当我尝试访问它的元素时,它会出现在字符串中。如下所示:
data.city[0]
输出是:
“(0,['纽约','德里','曼谷'])”
显然,所有项目都是字符串格式。
我希望输出如下:
(0, ['纽约', '德里', '曼谷'])
我怎样才能做到这一点?
谢谢
解决方案
您可以使用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)
推荐阅读
- java - 方法不返回字符串
- sql - 如何在 SQL Server 中使用 where 条件对从一年到另一年的数据求和,即从财政年度到下一年?
- flutter - Flutter 的深色模式颜色
- vb.net - 使用资源中的 .txt 文件并将随机行复制到文本框
- javascript - localhost 不为我使用的路由器和控制器输出 JSON
- python - 错误:指定“socksProxy”需要一个整数作为“socksVersion”,在任何地方都找不到
- python - 无法在 Docker 中连接 NoSQLClient
- python-3.x - 在 macOS 10.14.6 上的 Python 3.7.4 中导入 ssl 时出错
- python - 如何使用正则表达式从以下文本中提取年份?
- xml - 在 .CSV 文件中为 XML 解析创建 XSL