为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 pandas 数据框变成了 NoneType 对象?

为什么 pandas 数据框变成了 NoneType 对象?

泛舟湖上清波郎朗 2023-06-06 15:01:21
我正在努力确定为什么我在 python 中收到此错误。在我的代码中,我合并了 pandas 中的两个数据框:result = pd.merge(credit_record, application_record, on="ID")然后删除在特定列中具有缺失值的行:new_data = result.dropna(subset = ["MONTHS_BALANCE"], inplace=True)然后我尝试查看更新后的数据框并收到错误消息:new_data.head()AttributeError: 'NoneType' 对象没有属性 'head'有谁知道为什么会这样?
查看完整描述

4 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

当您使用inplace参数时,该函数适用于此处的原始数据帧结果,试试这个


result = pd.merge(credit_record, application_record, on="ID")

new_data = result.dropna(subset = ["MONTHS_BALANCE"])

new_data.head()


查看完整回答
反对 回复 2023-06-06
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

Inplace=True表示将在结果数据帧上操作。所以你没有将数据帧复制到 new_data。所以这会导致一个空的数据框。删除inplace=True它会正常工作。

result = pd.merge(credit_record, application_record, on="ID")

new_data = result.dropna(subset = ["MONTHS_BALANCE"])

new_data.head()


查看完整回答
反对 回复 2023-06-06
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

new_data = result.dropna(subset = ["MONTHS_BALANCE"], inplace=True)

当您使用(inplace=True)时,它返回一个空类型对象。 删除 (inplace=True)并尝试。

new_data = result.dropna(subset = ["MONTHS_BALANCE"]


查看完整回答
反对 回复 2023-06-06
?
万千封印

TA贡献1891条经验 获得超3个赞

仅供参考,您也可以只保留代码原样,但不要将数据框存储在新变量中。因此,其他评论者所说的几乎相同,inplace=True而不是排除此参数,您只需像这样编写代码:


result = pd.merge(credit_record, application_record, on="ID")

result.dropna(subset = ["MONTHS_BALANCE"], inplace=True)

result.head()


查看完整回答
反对 回复 2023-06-06
  • 4 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信