python - Python:“浮动”对象不可下标
问题描述
我正在尝试在包含泰坦尼克号乘客信息的熊猫数据集中映射一些非数值。现在我正在尝试绘制乘客登船的港口地图。有 3 个端口,我试图通过为每个端口添加一列来映射它们。0 如果他们从那个港口出发 1 如果不是。
我试着做一些与性类似的事情。我添加了另一列,如果性别是男性,则添加 0,如果性别是女性,则添加 1。这行得通,但是当我尝试对端口执行此操作时,我得到一个“'float' object is not subscriptable”错误。
import pandas as pd
#opening the data
train_path = #path to data set
passengers = pd.read_csv(train_path)
#creating a copy
passengers_copy = passengers
#mapping sex
passengers_copy['SexBin'] = [0 if x[0] == 'm' else 1 for x in passengers_copy['Sex']]
#trying to map the first port
passengers_copy['EmbarkedS'] = [0 if x[0] == 'S' else 1 for x in passengers_copy['Embarked']]
解决方案
在这:For x in passengers_copy['Embarked']
x 已经是一个浮点数。
使用浮点数,它是不可下标的(这意味着与列表不同,它不能用方括号下标来访问特定索引。)因为它只是一个数字而不是字符串/列表。
当您尝试x[0]
时,这就是导致错误的原因。
推荐阅读
- sql - 合并多个表中的行
- node.js - nodeJs - 使用 Unirest 发布带有表单数据的请求
- android - 为什么 WebView.evaluateJavascript() 会删除转义字符?
- javascript - 我的表单电子邮件输入有什么错误。提交时总是返回false
- java - 如何使用 Struts 2 从 JSP 页面中的数据库中选择日期数据类型
- python - 如何通过peewee中的ForeignKeyField从孩子调用父方法?
- javascript - 无法启动 browserquest 服务器。参数无效
- angular - 如何在不同的组件中显示单击的用户配置文件数据?
- java - 解析 JSON 响应
- c# - 以编程方式创建和使用 WebBrowser C# 的问题