Python实现删除某列中含有空值的行的示例代码

客户需求

查看销售人员不为空值的行

数据存储情况如图:

代码实现

import pandas as pd

data = pd.read_excel('test.xlsx',sheet_name='Sheet1')
datanota = data[data['销售人员'].notna()]
print(datanota)

输出结果

D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py
城市 销售金额 销售人员
0 北京 10000 张丽丽
1 上海 50000 潇潇
2 深圳 60000 笨笨笨
3 成都 40000 达达

Process finished with exit code 0

如何删除特定列为空/ NaN的行?

我有一个csv文件.我读了它:

import pandas as pd
data = pd.read_csv('my_data.csv', sep=',')
data.head()

它的输出如下:

id    city    department    sms    category
01    khi      revenue      NaN       0
02    lhr      revenue      good      1
03    lhr      revenue      NaN       0

我想删除sms列为空/ NaN的所有行.什么是有效的方法呢?

解决方法:

将dropna与参数子集一起使用以指定用于检查NaN的列:

data = data.dropna(subset=['sms'])
print (data)
  id city department  sms category
1  2 lhr  revenue good     1

boolean indexing和notnull的另一个解决方案:

data = data[data['sms'].notnull()]
print (data)
  id city department  sms category
1  2 lhr  revenue good     1

替代query:

print (data.query("sms == sms"))
  id city department  sms category
1  2 lhr  revenue good     1

计时

#[300000 rows x 5 columns]
data = pd.concat([data]*100000).reset_index(drop=True)

In [123]: %timeit (data.dropna(subset=['sms']))
100 loops, best of 3: 19.5 ms per loop

In [124]: %timeit (data[data['sms'].notnull()])
100 loops, best of 3: 13.8 ms per loop

In [125]: %timeit (data.query("sms == sms"))
10 loops, best of 3: 23.6 ms per loop

到此这篇关于Python实现删除某列中含有空值的行的示例代码的文章就介绍到这了,更多相关Python删除某列空值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 删除非空文件夹的实例

    一般删除文件时使用os库,然后利用os.remove(path)即可完成删除,如果删除空文件夹则可使用os.removedirs(path)即可, 但是如果需要删除整个文件夹,且文件夹非空时使用os.removedirs(path)就会报错了,此时可以使用shutil库,该库为python内置库,是一个对文件及文件夹高级操作的库,可以与os库互补完成一些操作,如文件夹的整体复制,移动文件夹,对文件重命名等. import os import shutil os.remove(path) #删除文

  • Python简单实现自动删除目录下空文件夹的方法

    本文实例讲述了Python简单实现自动删除目录下空文件夹的方法.分享给大家供大家参考,具体如下: 总是发现电脑用上一段时间,各种软件生成各种目录,可是这些目录都是空文件夹,感觉没用,或许有些许强迫症吧,每次看到都会去删除掉他们,有时候真的太多了,让人删除起来就蛋疼,最近学习Python,特别希望搞些有用的小脚本,然后就开始使用python搞起了这个小脚本的编写. 因为完全是个初学者,所以写起脚本来,各种百度,google,可到最后我写的脚本也不能达到我的目的,只能删除一级目录下的空文件夹,而子目

  • Python 删除整个文本中的空格,并实现按行显示

    希望以后每天写一篇博客,总结一下每天用到的基本功能,不然项目做完也就做完了,给自己留下的资料太少了. 今天需要造大量的姓名和家庭住址的数据,因此根据读取文件中现有的lastname.firstname以及省.市.道路等随机生成大量的模拟姓名和住址.其中用python进行了简单的文本处理,去掉文本中的空格,数字或者没用的字符等. example 1: 从ifn文件中读取数据,根据空格进行逐个读取,并进行换行显示. #encoding = utf-8# ifn = r"firstname.txt&q

  • Python如何优雅删除字符列表空字符及None元素

    这样的一段删除空字符串的代码: def not_empty(s): return s and s.strip() print(list(filter(not_empty, ['A', '', 'B', None,'C', ' '])))   代码很简洁,效果嘛,可以丢到 Python在线工具|菜鸟教程 跑跑看,很 nice ~ 但是函数 not_empty 的返回值有点复杂,可以仔细分析一下: - 假设字符串a和b作and运算 a and b: - 若两者均为非空,则 a and b = b;

  • Python字符串大小写转换拼接删除空白

    1.字符串大小写转换 string.title() #将字符串中所有单词的首字母以大写形式显示 string.upper() #将字符串中所有字母转化为大写字母 string.lower() #将字符串中所有字母转化为小写字母 str = "hello world!" print(str.title()) Hello World! print(str.upper()) HELLO WORLD! print(str.lower()) hello world! 2.字符拼接 python中

  • Python删除空文件和空文件夹的方法

    本文实例讲述了Python删除空文件和空文件夹的方法.分享给大家供大家参考.具体实现方法如下: #-*- coding:cp936 -*- """ os.walk() 函数声明:walk(top,topdown=True,onerror=None) 1>参数top表示需要遍历的目录树的路径 2>参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时

  • python 删除列表里所有空格项的方法总结

    首先,我们来随便写一个带空格的列表: list1 = ['122','2333','3444',' ','422',' ',' ','54',' '] 相信已经有人尝试过,诸如以下的方式去删掉空格,例如: # -*- coding:utf-8 -*- for i in list1: if i == ' ': list1.remove(' ') print list1 但是结果你会发现是这样的,它总是不能完全的删完空格,会在末尾留下一个. 方法一: 这个时候,可以尝试把'=='改为in: # -*

  • python如何删除列为空的行

    1.摘要 dropna()方法,能够找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回. 2.函数详解 函数形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 参数: axis:轴.0或'index',表示按行删除:1或'columns',表示按列删除. how:筛选方式.'any',表示该行/列只要有一个以上的空值,就删除该行/列:'all',表

  • Python实现删除某列中含有空值的行的示例代码

    客户需求 查看销售人员不为空值的行 数据存储情况如图: 代码实现 import pandas as pd data = pd.read_excel('test.xlsx',sheet_name='Sheet1') datanota = data[data['销售人员'].notna()] print(datanota) 输出结果 D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py 城市 销售金额 销售人员 0 北京 10000

  • 如何利用Pandas删除某列指定值所在的行

    目录 前言 1.data.dropna() 1-1 axis确定删除存在缺失值的行或者是列 1-2 how 确定存在缺失值时,是否删除行或者列 1-3 thresh=n表示保留至少含有n个非na数值的行 1-4 subset确定要在哪些列中查找缺失值 1-5 inplace确定是否直接在原DataFrame修改 2.data.drop 2-1 labels 指定行或者列的名称 2-2 index 指定要删除的行 2-3 columns 指定要删除的列 3.实例 3-1 统计0的数量 3-2 找出

  • Python 爬虫之超链接 url中含有中文出错及解决办法

    Python 爬虫之超链接 url中含有中文出错及解决办法 python3.5 爬虫错误: UnicodeEncodeError: 'ascii' codec can't encode characters 这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不能直接出现中文,若要出现中文, 解决方法如下: import urllib from urllib.request import urlopen link="http://list.jd.com/list.html?

  • python 筛选数据集中列中value长度大于20的数据集方法

    如果我有一个数据集,他的某个列名下面的value很长,我们需要筛选出,所有列名中value值字符串大于20的数据集. 其实比较简单啦,一句代码就可以搞定 #对该列进行强制的字符类型转换 df["token"] = df["token"].astype(str) #筛选df这个数据集下,token这个字段下面的value字符串长度大于20的 df= df[df['token'].str.len() >20] 以上这篇python 筛选数据集中列中value长度大

  • Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不能为新数组申请额外的空间,只允许申请O(1)的额外空间修改输入数组 Example 1: Given nums = [1,1,2], Your function should return length = 2, with the first two elements of nums being 1

  • python实现选取或删除指定列包含指定内容的行

    目录 选取或删除指定列包含指定内容的行 选取所有货币代号为1的行 选取所有货币代号列内容为1的数据 选取所有货币代号列内容不为1的数据 删除含有特定数值的行 选取或删除指定列包含指定内容的行 选取所有货币代号为1的行 数据读取 source_df= pd.read_excel('EXCEL2019-06-05.xls') 打印数据,查看数据长度 print(source_df.head()) print(len(source_df)) 选取所有货币代号列内容为1的数据 data_ = sourc

  • Python实现删除时保留特定文件夹和文件的示例

    实现功能:删除当前目录下,除保留目录和文件外的所有文件和目录 #!bin/env python import os import os.path import shutil def DeleteFiles(path, remainDirsList, filesList): dirsList = [] dirsList = os.listdir(path) for f in dirsList: if f not in remainDirsList: filePath = os.path.join(

  • Python实现在某个数组中查找一个值的算法示例

    第一种算法思路: 第一步:随机出来一个数组的下标 第二步:判断下标对应的值是否等于被查找的值,是的话终止,已找到,否的话转第三步. 第三步:判断是否随机完数组的所有下标,是的话终止,没找到,否的话转第一步. 代码如下: #本程序的功能是在字典中查找存在某个值 import random di = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} key = 2 di1 = {} while True: tmp = random.choice(di.keys()) #随机

  • Java导出excel时合并同一列中相同内容的行思路详解

    一.有时候导出Excel时需要按类别导出,一大类下好几个小类,小类下又有好几个小小类,就像下图: 要实现这个也不难, 思路如下:按照大类来循环,如上就是按照张江校区.徐汇校区.临港校区三个大类循环,然后再处理小类,因为本例小小类不涉及合并,所以只涉及处理小类,如果需要处理小小类,还需要在处理一下,具体实现原理同小类: 每次循环时记录下此次循环的房屋类型和上次循环的房屋类型,两者相同时,要合并的结束行++,否者,说明这个房屋类型已经循环完毕(前提是各类型都按顺序order by 了,保证相同类型相

  • python中Tkinter实现分页标签的示例代码

    Tkinter实现UI分页标签显示: Input页,红色部分为当前Frame的位置,下半部分为第一页的子标签:三页标签的显示内容各不相同.实现分页显示的核心组件为Radiobutton,Radiobutton只有一个选项能够生效,使用参数indicatoron=0能够将Radiobutton显示为Button的形状,通过选定的Radiobutton将原有的Frame forget掉,同时,将预定的Frame pack,实现分页的效果.使用时要将更换的组件放入一个Frame中,定义一个函数进行选定

随机推荐