pandas 4 处理缺失数据nan
from __future__ import print_function
import pandas as pd
import numpy as np
np.random.seed(1)
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)), index=dates, columns=['A', 'B', 'C', 'D'])
df.iloc[0,1] = np.nan
df.iloc[1,2] = np.nan # Nan模拟缺失的数据
print(df)
print(df.dropna(axis=0, how='all')) # how={'any', 'all'} 全部是0才丢掉
print(df.dropna(axis=0, how='any')) # how={'any', 'all'} 有0就丢掉行
print(df.fillna(value=0)) # 所有的nan用0填充
print(pd.isnull(df)) # 判断每一个数据是否是Nan,是nan就输出True
print(np.any(df.isnull()) == True) # 如果有数据缺失,就输出True
以下是所有的输出结果:
print(df)
> A B C D
> 2013-01-01 0 NaN 2.0 3
> 2013-01-02 4 5.0 NaN 7
> 2013-01-03 8 9.0 10.0 11
> 2013-01-04 12 13.0 14.0 15
> 2013-01-05 16 17.0 18.0 19
> 2013-01-06 20 21.0 22.0 23
print(df.dropna(axis=0, how='all')) # how={'any', 'all'}
> A B C D
> 2013-01-01 0 NaN 2.0 3
> 2013-01-02 4 5.0 NaN 7
> 2013-01-03 8 9.0 10.0 11
> 2013-01-04 12 13.0 14.0 15
> 2013-01-05 16 17.0 18.0 19
> 2013-01-06 20 21.0 22.0 23
print(df.dropna(axis=0, how='any')) # how={'any', 'all'}
> A B C D
> 2013-01-03 8 9.0 10.0 11
> 2013-01-04 12 13.0 14.0 15
> 2013-01-05 16 17.0 18.0 19
> 2013-01-06 20 21.0 22.0 23
print(df.fillna(value=0))
> A B C D
> 2013-01-01 0 0.0 2.0 3
> 2013-01-02 4 5.0 0.0 7
> 2013-01-03 8 9.0 10.0 11
> 2013-01-04 12 13.0 14.0 15
> 2013-01-05 16 17.0 18.0 19
> 2013-01-06 20 21.0 22.0 23
print(pd.isnull(df))
> A B C D
> 2013-01-01 False True False False
> 2013-01-02 False False True False
> 2013-01-03 False False False False
> 2013-01-04 False False False False
> 2013-01-05 False False False False
> 2013-01-06 False False False False
print(np.any(df.isnull()) == True)
> True
END
pandas 4 处理缺失数据nan的更多相关文章
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
数据不完整在数据分析的过程中很常见. pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据. pandas使用isnull()和notnull()函数来判断缺失情况. 对于缺失数据一般处理 ...
- Pandas汇总和处理缺失数据
汇总的函数 方法 说明 count 非NA的值数量 describe 针对Series和DataFrame列计算汇总统计 min.max 计算最小值和最大值 argmin.argmax 计算能够获取到 ...
- Pandas之Dropna滤除缺失数据
import pandas as pd import numpy as np from numpy import nan as NaN 一.处理Series对象 通过dropna()滤除缺失数据 fr ...
- pandas(五)处理缺失数据和层次化索引
pandas用浮点值Nan表示浮点和非浮点数组中的缺失数据.它只是一个便于被检测的标记而已. >>> string_data = Series(['aardvark','artich ...
- pandas知识点(处理缺失数据)
pandas使用浮点值NaN表示浮点和非浮点数组中的缺失数据: In [14]: string_data = Series(['aardvark','artichoke',np.nan,'avocad ...
- 利用Python进行数据分析-Pandas(第五部分-数据规整:聚合、合并和重塑)
在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 1.层次化索引 层次化索引(hierarchical indexing)是panda ...
- 实操 | 内存占用减少高达90%,还不用升级硬件?没错,这篇文章教你妙用Pandas轻松处理大规模数据
注:Pandas(Python Data Analysis Library) 是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.此外,Pandas 纳入了大量库和一些标准的数据模型 ...
- 小白学 Python 数据分析(8):Pandas (七)数据预处理
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
随机推荐
- linux中一次创建多个目录
linux中创建目录当然使用命令工具mkdir == (make directory),联想记忆法能让你记得牢固. 如果你要创建几个目录,例如:dir1目录,dir2目录,dir3目录可以这样 mkd ...
- 小学生都能学会的python(闭包和迭代器)
小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...
- Springboot 应用启动分析
https://blog.csdn.net/hengyunabc/article/details/50120001#comments 一,spring boot quick start 在spring ...
- 聚类算法学习-kmeans,kmedoids,GMM
GMM参考这篇文章:Link 简单地说,k-means 的结果是每个数据点被 assign 到其中某一个 cluster 了,而 GMM 则给出这些数据点被 assign 到每个 cluster 的概 ...
- Yii2高速构建RESTful Web服务功能简单介绍
Yii2相比Yii1而言,一个重大的改进是内置了功能完备的RESTful支持. 其内置RESTful支持提供了例如以下功能: 使用ActiveRecord的通用接口来高速构建原型: 应答格式协商(缺省 ...
- Android BLE与终端通信(三)——client与服务端通信过程以及实现数据通信
Android BLE与终端通信(三)--client与服务端通信过程以及实现数据通信 前面的终究仅仅是小知识点.上不了台面,也仅仅能算是起到一个科普的作用.而同步到实际的开发上去,今天就来延续前两篇 ...
- http协议无状态中的 "状态" 到底指的是什么?!(转载)
转载自:https://www.cnblogs.com/bellkosmos/p/5237146.html 引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无 ...
- NOIP2012 T3开车旅行 set+倍增
70分做法: 先预处理出所有点的最近和次近(O(n^2)一遍就OK) 然后暴力求出每个解(O(nm)) //By SiriusRen #include <cstdio> #include ...
- CDN(Content Distribution Network)概念
CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节 ...
- springMVC接受对象实体并且对象实体里面又有对象集合方式
springMVC接受对象实体并且对象实体里面又有对象集合方式: Ajax: function add(){ var orders = [ { orderNo : "H222255" ...