python - 将字符串标签转换为整数
问题描述
我有一个数据框形式的数据集,第一列是文本,第二列是作者。作者是分类任务的标签。我想将此列转换为数字。
我尝试使用如何将字符串标签转换为数值的以下代码
train['author'].apply(train['author'].index)
但它不起作用。输出是
Int64Index object is not callable
请你帮助我好吗?
解决方案
IIUC,您正在尝试为每个作者创建数字类别。如果是这样,请尝试:
train["codes"] = train["author"].astype("category").cat.codes
如果您想将相同的代码应用于其他数据集,您可以执行以下操作:
mapper = train.set_index('author')["codes"].to_dict()
validation["codes"] = validation["author"].map(mapper)
推荐阅读
- c++ - 为什么 include 语句返回一个错误,基本上表明该语言 (C++) 存在错误?
- python - 在python datetime中,为什么第一个月'January' = 1,但'Monday',一周的第一天= 0?
- sql - 我无法让它按月显示信息。是 GROUP BY 还是我的 LOOP 搞砸了?
- python-3.x - python MVC,如何让函数不按按钮自动运行?
- javascript - 如何从 Twilio 函数将数据加载到 S3 存储桶中?
- java - 匕首/缺少绑定。没有@Provides-annotated 方法就不能提供输出器
- laravel - 身份验证登录不适用于 laravel 6 中的新用户
- sql - 如何在 SQL Server 中使用 CTE 显示每个销售代表每年的销售订单总数?
- javascript - 我有一张图片,当我将它拖到红色圆圈时它会复制。我想要它,所以它保留在复制的位置,而不是对齐到左上角
- android - 如何使用 DocumentFile android Java 剪切文件夹