如何反转DataFrame列0-1区间浮点值并解决float对象删除报错问题
报错原因
你写的赋值代码将原本的DataFrame对象直接覆盖成了仅包含目标列的Series对象:
- 未修改前,
normalized_df.values.tolist()返回二维列表,每个元素e是对应行的多列值组成的列表,支持切片删除操作 - 修改后返回一维浮点数列表,每个
e是float类型,不支持列表的切片删除操作,因此触发TypeError
正确实现方案
仅修改目标列的数值,保留DataFrame的整体结构即可,不要覆盖整个DataFrame对象:
normalized_df[headers[-1]] = normalized_df[headers[-1]].apply(lambda n: 1.000000 - n)
修改后后续的删除、生成字典逻辑不需要做任何调整,即可正常运行。
内容的提问来源于stack exchange,提问作者ubant
相关产品推荐
相关产品推荐

