问题:数值填充
使用语言:python
我的思路:一个的表格一共有130个字段每个字段都有null nan 空值甚至还有点想一个一个字段写将null nan空值甚至还有点填补为众数但是这样会太慢了并且有的点就是众数所以想用for循环做、这样快点,如果众数是点就用value counts中的第二的数进行填充否则就用就用众数(第一个众数)填充。请问各位这个for循环怎么写?谢谢,有偿 谢谢
如果我的思路有什么问题欢迎各位指点
关于#Python#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 悠闲的小鱼Liu 2022-11-27 20:56关注
你看看是这个意思不?
import numpy as np import pandas as pd df = pd.DataFrame([[1, 2, 3, 'null'], [1, 2, 'null', '.'], [9, np.nan, 'nan', '.'], [13, 14, 15, 16]]) print(df) # 将字符串的nan和null替换成空值 df.replace('null', np.nan, regex=True, inplace=True) df.replace('nan', np.nan, regex=True, inplace=True) for col in df.columns: a = df[col].mode()[0] if a == '.': # 将点替换成空值再求众数,因为 没有设置inplace=True不会改变df本身。 b = df[col].replace('.', np.nan).mode()[0] # fillna() 方法来替换空值 df[col].fillna(value=b, inplace=True) else: df[col].fillna(value=a, inplace=True) print(df)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
- ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题