Python:“ float”对象不可下标

时间:2019-07-17 06:23:54

标签: python

我正在尝试在熊猫数据集中映射一些非数字值,其中包含来自泰坦尼克号上乘客的信息。现在,我正在尝试绘制乘客登机口的地图。有3个端口,我试图通过为每个端口添加一列来映射它们。如果从该端口出发则返回0,否则返回1。

我试图做一些与性相似的事情。我添加了另一列,如果性别是男性,则为0;如果性别是女性,则为1。那行得通,但是当我尝试使用端口执行此操作时,出现“'float'对象不可下标”错误。

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']]

1 个答案:

答案 0 :(得分:2)

在此:For x in passengers_copy['Embarked'] x已经是一个浮点数。

使用浮点数时,它是不可下标的(意味着与列表不同,它不能用方括号下标来访问特定的索引。),因为它只是一个数字而不是字符串/列表。

尝试x[0]时,就是导致错误的原因。