鱼C论坛

 找回密码
 立即注册
查看: 2301|回复: 5

[已解决]fillna使用求助

[复制链接]
发表于 2023-5-12 18:52:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大佬们,我这里的fillna(inputs.mean())在Jupiter上能使用但是会警告,在pycharm上就会因为第2列是str类型数据而报错,如果我想在pycharm上做到jupyter上一样的效果,该怎么办呢

数据inputs:
        Num        Alley        Price
0        NaN        Pave        127500
1        2.0        NaN        106000
2        4.0        NaN        178100
3        NaN        NaN        14000
代码:
inputs = inputs.fillna(inputs.mean())

jupyter上的结果:
        Num        Alley        Price
0        3.0        Pave        127500
1        2.0        NaN        106000
2        4.0        NaN        178100
3        3.0        NaN        14000

在pychar就会报错
最佳答案
2023-5-12 18:52:45
问题在于fillna()函数默认只能对数值型数据进行填充,而你的数据中存在字符串类型的列。因此,在使用fillna()函数之前,需要对数据进行一些处理,将字符串类型的列去掉,只保留数值型的列。可以使用以下代码进行处理:

inputs_numeric = inputs.select_dtypes(include=[np.number]) # 只选择数值型的列
inputs = inputs.fillna(inputs_numeric.mean()) # 对数值型数据进行填充

这样就可以在pycharm上实现和jupyter上一样的效果了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-12 18:52:45 | 显示全部楼层    本楼为最佳答案   
问题在于fillna()函数默认只能对数值型数据进行填充,而你的数据中存在字符串类型的列。因此,在使用fillna()函数之前,需要对数据进行一些处理,将字符串类型的列去掉,只保留数值型的列。可以使用以下代码进行处理:

inputs_numeric = inputs.select_dtypes(include=[np.number]) # 只选择数值型的列
inputs = inputs.fillna(inputs_numeric.mean()) # 对数值型数据进行填充

这样就可以在pycharm上实现和jupyter上一样的效果了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-12 18:57:49 | 显示全部楼层
isdkz 发表于 2023-5-12 18:52
问题在于fillna()函数默认只能对数值型数据进行填充,而你的数据中存在字符串类型的列。因此,在使用fillna ...

多谢大佬,来的太快了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-12 19:01:24 | 显示全部楼层
2733073500 发表于 2023-5-12 18:57
多谢大佬,来的太快了

不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-12 19:05:05 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-13 09:32:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 02:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表