博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pandas填充缺失值
阅读量:4291 次
发布时间:2019-05-27

本文共 651 字,大约阅读时间需要 2 分钟。

将dataframe中的NAN值进行填充,填充方法如下:

用0填充:

df.fillna(0)

用字符串填充:

df.fillna("missing")

用前一个数据填充:

df.fillna(method="pad")

用后一个数据代替NaN:

df.fillna(method="bfill")

这里的前、后一个数值默认是纵向看的,如果需要使用左或者右边的数值进行填充,只需要加参数axis=1,就可以了。

limit参数限制每列可以替代NaN的数目,例如限制每列只能替代一个NaN

df.fillna(method="bfill",limit=1)

使用平均数填充:

df.fillna(df.mean())

对指定列填充:

df.fillna(df.mean()["one":"two"])

参考:

用某列的均值填充该列NAN值:

for column in list(feature_1.columns[feature_1.isnull().sum() > 0]):    mean_val = feature_1[column].mean()    feature_1[column].fillna(mean_val, inplace=True)

加 inplace=True,才会在原df上进行数据修改。

按照axis指定方向,用差值替代,差值是前后或者上下的中间值

store_items.interpolate(method = 'linear', axis = 0)

其他有用连接:

转载地址:http://nhhgi.baihongyu.com/

你可能感兴趣的文章
如何使用Spring Boot快速创建Web应用
查看>>
学习三十四天笔记——mysql事务触发器函数过程:变量
查看>>
Java面向对象,基本类型包装类
查看>>
MyBatis 原理浅析 3——数据操作
查看>>
一篇Mysql注入最全详解(2)
查看>>
Java面向对象,单例设计模式
查看>>
操作mysql用户,权限
查看>>
并发控制——悲观锁和乐观锁详解
查看>>
如何低成本搭建高性能分布式搜索引擎?
查看>>
Session做一个小例子(java web)
查看>>
实现java多线程的3种方式,99%人没用过第3种
查看>>
java动态代理、Proxy与InvocationHandler
查看>>
JDK 1.8 LinkedList源码分析
查看>>
stack, deque 和 queue的对比
查看>>
java中的移位运算符:<<,>>,>>>总结
查看>>
Java容器类源码-Vector的最全的源码分析
查看>>
java多线程(十)使用线程安全的集合
查看>>
jdk1.8的日常使用
查看>>
@JsonProperty的使用
查看>>
HashMap的put源码解析
查看>>