pandas知识点(处理缺失数据)
In [14]: string_data = Series(['aardvark','artichoke',np.nan,'avocado'])
In [15]: string_data
Out[15]:
0 aardvark
1 artichoke
2 NaN
3 avocado
dtype: object
In [16]: string_data.isnull()
Out[16]:
0 False
1 False
2 True
3 False
dtype: bool
In [17]: string_data[0] = None
In [18]: string_data.isnull()
Out[18]:
0 True
1 False
2 True
3 False
dtype: bool
In [20]: data = Series([1,NA,3.5,NA,7])
In [21]: data.dropna()
Out[21]:
0 1.0
2 3.5
4 7.0
dtype: float64
In [22]: data[data.notnull()]
Out[22]:
0 1.0
2 3.5
4 7.0
dtype: float64
In [23]: data = DataFrame([[1.,6.5,3.],[1.,NA,NA],[NA,NA,NA],[NA,6.5,3.]])
In [24]: cleaned = data.dropna()
In [25]: data
Out[25]:
0 1 2
0 1.0 6.5 3.0
1 1.0 NaN NaN
2 NaN NaN NaN
3 NaN 6.5 3.0
In [26]: cleaned
Out[26]:
0 1 2
0 1.0 6.5 3.0
In [27]: data.dropna(how="all")
Out[27]:
0 1 2
0 1.0 6.5 3.0
1 1.0 NaN NaN
3 NaN 6.5 3.0
In [28]: data[4] = NA
In [29]: data
Out[29]:
0 1 2 4
0 1.0 6.5 3.0 NaN
1 1.0 NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN 6.5 3.0 NaN
In [30]: data.dropna(axis=1,how="all")
Out[30]:
0 1 2
0 1.0 6.5 3.0
1 1.0 NaN NaN
2 NaN NaN NaN
3 NaN 6.5 3.0
In [41]: df
Out[41]:
0 1 2
0 -0.184676 NaN NaN
1 0.565214 NaN NaN
2 0.440203 NaN NaN
3 0.188283 NaN 0.146847
4 1.696903 NaN 0.554640
5 -1.287915 0.139527 -0.494558
6 0.854922 0.299511 0.773247
In [42]: df.dropna(thresh=2) # thresh=2表示至少有两个非空数据
Out[42]:
0 1 2
3 0.188283 NaN 0.146847
4 1.696903 NaN 0.554640
5 -1.287915 0.139527 -0.494558
6 0.854922 0.299511 0.773247
In [43]: df.dropna(thresh=1)
Out[43]:
0 1 2
0 -0.184676 NaN NaN
1 0.565214 NaN NaN
2 0.440203 NaN NaN
3 0.188283 NaN 0.146847
4 1.696903 NaN 0.554640
5 -1.287915 0.139527 -0.494558
6 0.854922 0.299511 0.773247
In [9]: df.fillna(0)
Out[9]:
0 1 2
0 0.863556 0.000000 0.000000
1 -0.099558 0.000000 0.000000
2 -0.605804 0.000000 0.000000
3 -0.934688 0.000000 -1.198976
4 0.741383 0.000000 0.229845
5 -1.415495 0.511485 -0.086808
6 -0.748325 0.437964 -2.458319
In [11]: df.fillna({1:0.5,2:-1})
Out[11]:
0 1 2
0 0.863556 0.500000 -1.000000
1 -0.099558 0.500000 -1.000000
2 -0.605804 0.500000 -1.000000
3 -0.934688 0.500000 -1.198976
4 0.741383 0.500000 0.229845
5 -1.415495 0.511485 -0.086808
6 -0.748325 0.437964 -2.458319
pandas知识点(处理缺失数据)的更多相关文章
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
数据不完整在数据分析的过程中很常见. pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据. pandas使用isnull()和notnull()函数来判断缺失情况. 对于缺失数据一般处理 ...
- pandas 4 处理缺失数据nan
from __future__ import print_function import pandas as pd import numpy as np np.random.seed(1) dates ...
- 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是一款适用很广的数据处理的组件,如果将来从事机械学习或者数据分析方面的工作,咱们估计70%的时间都是在跟这个框架打交道.那大家可能就有疑问了,心想这个破玩意儿值得花70%的时间吗?咱不是还 ...
- Python数据分析--Pandas知识点(三)
本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...
- Python数据分析--Pandas知识点(二)
本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) 下面将是在知识点一的基础上继续总结. 13. 简单计算 新建一个数据表 ...
- 利用Python进行数据分析-Pandas(第五部分-数据规整:聚合、合并和重塑)
在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 1.层次化索引 层次化索引(hierarchical indexing)是panda ...
随机推荐
- B/S模式获取客户端IP地址
using System.Web; namespace Common { public class IPUtil { /// <summary> /// 获取IP地址 /// </s ...
- AngularJS(九):路由
本文也同步发表在我的公众号“我的天空” AngularJS路由 AngularJS路由可以让我们通过不同的URL访问不同页面(似乎是废话),其价值主要体现在单页面的web应用中(single page ...
- ps钢笔工具路径问题
问题描述:ps钢笔工具画出路径后用文字工具打字 路径出现一个空心圆点字,不能在路径上打字或者无法确认终止的位置. 解决:1.如果要在路径上全都打满字,要将文字对齐改为左对齐,2.如果要实现自定义结束位 ...
- vue-pos : 子组件与子组件通讯
子组件与子组件通讯: 例子子组件1 要与子组件2 通讯 步骤1 : 在父组件新建一个 vue 对象 : const eventHub = new Vue() 步骤2 : 子组件1 发起事件 :this ...
- 设置mapcontrol的鼠标样式
http://blog.itpub.net/14999074/viewspace-586515/ mapcontrol的鼠标样式 this.axMapControl1.MousePointer=esr ...
- 模块详解及import本质
一.模块的定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test) 包:用来从逻辑上组织模块的 ...
- lintcode中等难度5道题
1.整数转罗马数字 对任一个罗马数字可以 由12个罗马字符进行加法操作完成,且大数在左,小数在右,可以将一个数字进行拆分来求解 2.买卖股票的最佳时机 II 可将问题转换为只要相连的两天prices[ ...
- Mysql数据库学习总结(一)
数据库概念 数据库(Database)是按照数据结构来组织.存储和管理数据,建立在计算机存储设备上的仓库. 简单说,数据库就是存放数据的仓库.和图书馆存放书籍.粮仓存放粮食类似. 数据库分类 分为 关 ...
- hihoCoder 挑战赛10 #1144 : 01串
思路:这只是逻辑测试题吧,考虑周全就行了.考虑n=m的情况,n>m的情况,m>n的情况. (1)n>m的情况,0比1多几个都是行的,一共有m个“01”,后面补足够多个零即可. (2) ...
- NetTime——c++实现计算机时间与网络时间的更新
<Windows网络与通信程序设计>第二章的一个小例子,网络编程入门. #include "stdafx.h" #include <WinSock2.h> ...