熊猫地图将所有值返回为NaN

时间:2019-05-26 06:00:27

标签: python-3.x pandas mapping

当映射目标变量时,“糖尿病”(假患者没有糖尿病,真患者患有糖尿病)分别为0(假)和1(真)。所有条目都以NaNs形式返回

我认为可能“ diabetes”不是真正的str,因此我需要先转换为字符串。尝试了以下代码:

diab_data['diabetes'] = diab_data['diabetes'].astype(str)

diab_data["diabetes"] = diab_data["diabetes"].map({'False':0, 'True':1})

我需要将下面的值设置为0(假)或1(真)。所有值均返回为NaN

原始输出:

patient diabetes
0         False
1         True
2         True 
3         True
4         False

映射后的输出:

patient diabetes
0         NaN
1         NaN
2         NaN
3         NaN
4         NaN

1 个答案:

答案 0 :(得分:1)

您不需要地图:

diab_data["diabetes"].astype(int)

此外,您还使用bool值作为字符串,例如在True下使用'True'而不是map()

df["diabetes"].map({False:0, True:1})