聊聊python dropna()和notnull()的用法区别
定义一个DataFrame
data = {'a':[1,2,3,NaN],'b':['l','k','j','k'],'c':['12r','45h','45u','456u']} frame1 = DataFrame(data) print(frame1) print('\n') print(frame1.dropna()) print('\n') print(frame1[frame1.notnull()])
输出:
当未精确定位到某一列,但该列中存在空值时,dropna()会将空值所在行删除,而notnull()不会
在精确定位到某一列后,dropna()会输出series,而notnull()输出DataFrame
print(frame1) print('\n') print(frame1.a.dropna()) print('\n') print(frame1[frame1.a.notnull()])
输出:
补充:padas.notnull函数
pandas的notnull函数,用于返回非空值的集合。下面举一个例子。
1、构造一个DataFrame
df = pd.DataFrame([['1', 'bee', 'cat'], [None, None, 'fly']])
2、测试notnull函数
a = pd.notnull(df[0])
将a打印一下,结果如下。
0 True 1 False
3、通过a来取df的内容
b = df[a] print(b)
结果为
0 1 2 0 1 bee cat
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
Python中的None与 NULL(即空字符)的区别详解
1.首先要了解Python的对象的概念: Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是一个对象 那对于一个对象,它就有包括两方面的特征: 属性:去描述它的特征 方法: 它所具有的行为 所以,对象=属性+方法 (其实方法也是一种属性,一种区别于数据属性的可调用属性 把具有相同属性和方法的对象就可以归为一类,即Classl.类就好比是一张蓝图,使用一个类可以创建多个对象实例
-
Python判断字符串是否为空和null方法实例
判断python中的一个字符串是否为空,可以使用如下方法 1.使用字符串长度判断 len(s) ==0 则字符串为空 #!/user/local/python/bin/python # coding=utf-8 test1 = '' if len(test1) == 0: print '字符串TEST1为空串' else: print '字符串TEST1不是空串,TEST1:' + test1 2.isspace判断是否字符串全部是空格 Python isspace() 方法检测字符串是否只由空
-
详解pandas删除缺失数据(pd.dropna()方法)
1.创建带有缺失值的数据库: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index = list('abcde'), columns = ['one', 'two', 'three']) # 随机产生5行3列的数据 df.ix[1, :-1] = np.nan # 将指定数据定义为缺失 df.ix[1:-1, 2] = np.nan print('\ndf1') # 输出df1,
-
聊聊python dropna()和notnull()的用法区别
定义一个DataFrame data = {'a':[1,2,3,NaN],'b':['l','k','j','k'],'c':['12r','45h','45u','456u']} frame1 = DataFrame(data) print(frame1) print('\n') print(frame1.dropna()) print('\n') print(frame1[frame1.notnull()]) 输出: 当未精确定位到某一列,但该列中存在空值时,dropna()会将空值所在行
-
聊聊Python中end=和sep=的区别
end: 默认是换行,表示两个字符串最后以什么结尾. eg: 换行 end="\n" sep: 默认是空格,表示两个字符串之间用什么分割. eg: 空格 sep=" " 补充:python 中的 print(x, end=) 和 print(x, sep=) print(x, end=) for i in range(10): print(i) 输出结果: 0 1 2 3 4 5 6 7 8 9 for i in range(10): print(i, end=&q
-
基于python cut和qcut的用法及区别详解
我就废话不多说了,直接上代码吧: from pandas import Series,DataFrame import pandas as pd import numpy as np from numpy import nan as NA from matplotlib import pyplot as plt ages = [20,22,25,27,21,23,37,31,61,45,41,32] #将所有的ages进行分组 bins = [18,25,35,60,100] #使用pandas
-
Python 中 -m 的典型用法、原理解析与发展演变
在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args] 本文想要聊聊比较特殊的"-m"选项: 关于它的典型用法.原理解析与发展演变的过程. 首先,让我们用"--help"来看看它的解释: -m mod run library module as a script (ter
-
python中的lambda表达式用法详解
本文实例讲述了python中的lambda表达式用法.分享给大家供大家参考,具体如下: 这里来为大家介绍一下lambda函数. lambda 函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方 .下面的例子比较了传统的函数定义def与lambda定义方式: >>> def f ( x ,y): ... return x * y ... >>> f ( 2,3 ) 6 >>> g = lambda x ,y: x *
-
python中引用与复制用法实例分析
本文实例讲述了python中引用与复制用法.分享给大家供大家参考.具体分析如下: 在python中,任何不可变对象是传值的,而可变对象是传引用的. 不管是向函数传递参数或者是任何形式的对象复制来说,不可变对象(比如整数,字符串)被真正复制,而可变对象只是复制了一个对他们的引用,即在内存中只有一份对象,而引用两份. a=b 这样的赋值,就会创建对b的引用,对于象数字和字符串这样的不可变的对象,这种赋值实际是创建了b的一个副本 >>> a='hello' >>> b=a
-
Python原始字符串(raw strings)用法实例
本文实例讲述了Python原始字符串(raw strings)用法,分享给大家供大家参考.具体如下: Python原始字符串的产生正是由于有正则表达式的存在.原因是ASCII 字符和正则表达式特殊字符间所产生的冲突.比如,特殊符号"\b"在ASCII 字符中代表退格键,但同时"\b"也是一个正则表达式的特殊符号,代表"匹配一个单词边界". 为了让RE 编译器把两个字符"\b"当成你想要表达的字符串,而不是一个退格键,你需要
-
深入理解Python中range和xrange的区别
我们已经给大家介绍过range和xrange的区别的基础知识,有兴趣的朋友可以参阅: python中xrange和range的区别 python中range()与xrange()用法分析 本次小编给大家带来的是深入理解range和xrange之间的区别. 两种用法介绍如下: 1.range([start], stop[, step]) 返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step. start和step是可选项,没给出start时,从0开始:没给
-
Python科学计算包numpy用法实例详解
本文实例讲述了Python科学计算包numpy用法.分享给大家供大家参考,具体如下: 1 数据结构 numpy使用一种称为ndarray的类似Matlab的矩阵式数据结构管理数据,比python的列表和标准库的array类更为强大,处理数据更为方便. 1.1 数组的生成 在numpy中,生成数组需要指定数据类型,默认是int32,即整数,可以通过dtype参数来指定,一般用到的有int32.bool.float32.uint32.complex,分别代表整数.布尔值.浮点型.无符号整数和复数 一
-
浅谈Python中range和xrange的区别
range()是Python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列.xrange也有相同的功能, 今天来看下它们之间的不同. range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>> range(6) [0, 1, 2, 3, 4, 5] >>> range(1,6) [1, 2, 3, 4, 5] >>> r
随机推荐
- ASP连接SQL2005数据库连接代码
- MySQL截取和拆分字符串函数用法示例
- sql server 2008数据库连接字符串大全
- 在for循环中length值是否需要缓存
- JS正则表达式验证数字(非常全)
- C#执行存储过程并将结果填充到GridView的方法
- 解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
- mysql下普通用户备份数据库时无lock tables权限的解决方法
- JavaScript仿支付宝密码输入框
- Vue.js实现按钮的动态绑定效果及实现代码
- mysql优化取随机数据慢的方法
- 如何用JS取得网址中的文件名
- jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
- js制作简单的音乐播放器的示例代码
- Office Word九条常用技巧
- Java FineReport报表工具导出EXCEL的四种方式
- PHP数字和字符串ID互转函数(类似优酷ID)
- c#读取excel方法实例分析
- opencv改变imshow窗口大小,窗口位置的方法
- Spring Boot中使用RabbitMQ的示例代码