pandas数据分析-处理填充缺失数据

dropna默认丢失任何含有缺失值的行。

date =  DataFrame([[1.,2.,3.],[NA,NA,NA],                  [1.,3.,NA],[1.,5.,NA]])clean = date.dropna()

print(clean)

你可能希望丢弃含有NA的行或列,传输how=‘all‘将只丢弃含有NA的行。

date =  DataFrame([[1.,2.,3.],[NA,NA,NA],                  [1.,3.,NA],[1.,5.,NA]])clean = date.dropna(how=‘all‘)print(clean)

要用这种方式丢弃列,只需要传入axis=1即可。

date =  DataFrame([[1.,2.,NA],[NA,NA,NA],                  [1.,3.,NA],[1.,5.,NA]])clean = date.dropna(axis=1,how=‘all‘)print(clean)

另一个滤除DataFrame行的问题涉及时间序列数据,假设你只想留下一部分观测数据,可以用thresh参数实现此目的。

df = DataFrame(np.random.randn(6,3))df.ix[:4,1]=NA;df.ix[:2,2]=NAprint(df)

df = DataFrame(np.random.randn(5,3))df.ix[:4,1]=NA;df.ix[:2,2]=NAprint(df.dropna(thresh=2))

你可能不想过滤除缺失数据,而是通过其他方式填补那些空洞,通过一个常数调用fillna就会将缺失值替换为常数值。

df = DataFrame(np.random.randn(5,3))df.ix[:4,1]=NA;df.ix[:2,2]=NAprint(df.fillna(0))

若是通过字典调用fillna,就可以实现对不同列填充不同的值。

df = DataFrame(np.random.randn(5,3))df.ix[:4,1]=NA;df.ix[:2,2]=NAprint(df.fillna({1:0.5,2:1}))

fillna默认会返回新对象,也可以对现有对象进行就地修改。

df.ix[:4,1]=NA;df.ix[:2,2]=NA_ = df.fillna(0, inplace=True)print (df)

对reindex有效的那些插值方法也可用于fillna。

df = DataFrame(np.random.randn(6,3))df.ix[2:,1]=NA;df.ix[4:,2]=NAprint(df)print(df.fillna(method=‘ffill‘))

df = DataFrame(np.random.randn(6,3))df.ix[2:,1]=NA;df.ix[4:,2]=NAprint(df)print(df.fillna(method=‘ffill‘,limit=2))

还可以利用fillna实现很多功能,比如说:你可以传入Series的平均值或中位数。

date = Series([1,NA,2,NA,3])print(date.fillna(date.mean()))

参数      说明

value     用于填充缺失值得标量值或字典对象

method  插值方式,如果函数调用时未指定其他参数的话,默认为“ffill”

axis        待填充的轴,默认axis=0

inplace   修改调用者对象而不产生副本

limit         对于向前和向后填充,可以连续填充的最大数量








原文地址:https://www.cnblogs.com/li98/p/10991229.html

时间: 2024-10-09 19:25:21

pandas数据分析-处理填充缺失数据的相关文章

Pandas 10分钟入门----缺失数据的处理(官方文档注释版三)

在日常我们获取的数据中,经常会出现数据缺失的情况.对数据缺失的处理,有多种处理的方法:插值填补.平均值填补方法很多.这里不具体讨论用哪种方式去插补这些数据,而只是谈谈如何使用pandas去快速的处理这些数据. pandas 常用np.nan代表缺失数据,详情可以查看Missing Data section. 1. reindex()可以允许你在指定维度上修改.增加.删除索引,并返回数据的副本: df1 = df.reindex(index=dates[0:4], columns=list(df.

Pandas之Dropna滤除缺失数据

import pandas as pd import numpy as np from numpy import nan as NaN 一.处理Series对象 通过dropna()滤除缺失数据 from numpy import nan as NaN se1=pd.Series([4,NaN,8,NaN,5]) print(se1) se1.dropna() 结果如下: 0 4.0 1 NaN 2 8.0 3 NaN 4 5.0 dtype: float64 0 4.0 1 NaN 2 8.0

动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

D3.js入门指南 什么是D3?D3是指数据驱动文档(Data-Driven Documents),根据D3的官方定义: D3.js是一个JavaScript库,它可以通过数据来操作文档.D3可以通过使用HTML.SVG和CSS把数据鲜活形象地展现出来.D3严格遵循Web标准,因而可以让你的程序轻松兼容现代主流浏览器并避免对特定框架的依赖.同时,它提供了强大的可视化组件,可以让使用者以数据驱动的方式去操作DOM. D3是这样一个特殊的JavaScript库,它利用现有的Web标准,通过更简单的(

pandas数据分析第二天

一:汇总和计算描述统计 pandas对象拥有一组常用的数据和统计方法,用于从Series中提取单个值(sum,mean)或者从DataFrame的行或者列中提取一个Series对应的Numpy数组方法相比 调用sum可以返回一个小计,传入axis=1会按照行进行计算, axis=0,按照列进行计算 sum或者mean里面可与约简方法的选项 axis  约简的轴,DateFrame的行为0,列为1 skipna 排除缺失值,默认为TRUE level  如果轴层次化索引的,则根据level分组约简

茄子快传数据分析(一)----数据清理

茄子快传数据分析(一)----数据清理 2018年09月03日 18:41:44 amin_hui 阅读数:117 茄子快传原理 流程图:  数据 “events”: “1473367236143\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001160907223957000

8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 LINQ操作 懒加载和预加载 插入数据 更新数据 删除数据 本章小结 本人的实验环境是VS 2013 Update 5,windows 10,MSSQL Server 2008. 上一篇<Code First开发系列之领域建模和管理实体关系>,我们主要介绍了EF中“约定大于配置”的概念,如何创建数据

推断一组数的规律,并填充缺失的数

最近笔试中遇到这样一系列题型,即数列推理题:给出一组数,找出规律,并填充缺失的数.有些规律好找, 有些则需要动点脑子了.下面我是总结出的一些题及其解决方法. 1).  19.17.15.13.(11) 解析:这里填11,是比较简单的,可以看出来,是一个递减的等差数列,公差为-2. 2).  1/2.1/2.1/4 .1/12 .(1/48) 解析:第0项是:1/2: 第1项是:1/2*1/1,即前一项*1/1: 第2项是:1/2*1/2,即前一项*1/2: 第3项是:1/4*1/3,即前一项*1

用array_merge填充数组数据

工作中遇到一需求,要求传送一个数组给js画图 数组的key是日期,value是当天的值 问题是从数据库取出来的值有些日期是没有的,需要给这里没有的日期补上值0 这个时候就可以先创建一个数组,key是所需要的日期,value都是0 例如 $dateArray=array("2014-01-01"=>0,"2014-01-02"=>0,"2014-01-03"=>0,"2014-01-04"=>0,&quo

Python数据分析、数据采集、数据可视化、图像数据处理分析视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv