[译]如何根据条件从pandas DataFrame中删除不需要的行?
问:
我有一个pandas DataFrame,我想删除它特定列中字符串差姑娘是大于2的行,我知道我可以使用df.dropna()来去除包含NaN的行,但我没有找到如何根据条件删除行。
似乎我能够这样做:
df[(len(df['column name']) < 2)]
但却报错了:
KeyError: u'no item named False'
谁能告诉我错在哪里了?
回答一:
当你这样做时,len(df['column name'])你只得到一个数字,即DataFrame中的行数(即列本身的长度)。如果要应用于len列中的每个元素,请使用df['column name'].map(len)。
尝试使用:
df[df['column name'].map(len) < 2]
评论:
我想出了一种使用列表解析的方法:df[[(len(x) < 2) for x in df['column name']]] 但是你这种方法更好些。
回答二:
要直接回答这个问题,一种方法是使用drop方法:
df = df.drop(some labels)
df = df.drop(df[<some boolean condition>].index)
要删除列“score”<50的所有行:
df = df.drop(df[df.score < 50].index)
替换版本
df.drop(df[df.score < 50].index, inplace=True)
多条件情况:
可以使用操作符: | 只需其中一个成立, & 同时成立, ~ 表示取反,它们要用括号括起来。
例如删除列“score<50 和>20的所有行
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)
[译]如何根据条件从pandas DataFrame中删除不需要的行?的更多相关文章
- 更改 pandas dataframe 中两列的位置
更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置. 原来的 df 是: df = pd.read_csv('I:/Papers/consumer/codeandpa ...
- pandas.DataFrame 中的insert(), pop()
pandas.DataFrame 中的insert(), pop() 在pandas中,del.drop和pop方法都可以用来删除数据,insert可以在指定位置插入数据. 可以看看以下示例. imp ...
- pandas.DataFrame的pivot()和unstack()实现行转列
示例: 有如下表需要进行行转列: 代码如下: # -*- coding:utf-8 -*- import pandas as pd import MySQLdb from warnings impor ...
- Pandas dataframe 标记删除重复记录
Pandas提供了duplicated.Index.duplicated.drop_duplicates函数来标记及删除重复记录 duplicated函数用于标记Series中的值.DataFrame ...
- 【译】在ASP.Net和IIS中删除不必要的HTTP响应头
引入 每次当浏览器向Web服务器发起一个请求的时,都会伴随着一些HTTP头的发送.而这些HTTP头是用于给Web服务器提供一些额外信息以便于处理请求.比如说吧.如果浏览器支持压缩功能,则浏览器会发送A ...
- [译]如何在迭代字典的过程中删除其中的某些item(Python)
最好不要在迭代的过程中删除.你可以使用解析式和filter过滤. 比方说: {key:my_dict[key] for key in my_dict if key !="deleted&qu ...
- pandas.DataFrame 中save方法
In [5]: frame.save('frame_pickle') ----------------------------------------------------------------- ...
- pandas | DataFrame中的排序与汇总方法
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第六篇文章,我们来聊聊DataFrame的排序与汇总运算. 在上一篇文章当中我们主要介绍了DataFrame ...
- [错误解决]pandas DataFrame中经常出现SettingWithCopyWarning
先从原dataframe取出一个子dataframe,然后再对其中的元素赋值,例如 s = d[d['col_1'] == 0] s.loc[:, 'col_2'] = 1 就会出现报错: Setti ...
随机推荐
- 与select2有关的知识点总结
1.多选下拉框设置提示 var datass = [ { id:0, text: '你好' }, { id:1, text: '好久不见' }, { id:2, text: '好想你' } ]; va ...
- RPAD()和LPAD()函数进行字符串的填充
RPAD()函数从右边对字符串使用指定的字符进行填充. 格式:RPAD(string,padded_length,[pad_string]) string 表示:被填充的字符串. padded_len ...
- css3响应式布局设计——回顾
响应式设计是在不同设备下分辨率不同显示的样式就不同. media 属性用于为不同的媒体类型规定不同的样式.根绝浏览器的宽度和高度重新渲染页面. 语法: @media mediatype and | n ...
- flex 遇到white-space:nowrap
背景,做一个前面图片宽度固定,后面宽度自适应,使用到了flex布局,但是想让后面div里文字不换行,超出以点点表示时,这时布局就乱了,查了下,原来flex布局与white-space:nowrap有影 ...
- 大学C++程序设计教程期末复习重点
第一章 1.cin与count的应用<iostream> 例: cin>>a; cout<<"hello"<<endl; cout& ...
- (第02节)集成Sping框架
通过第一节创建好的Web项目,接下来就是集成Spring框架 首先让我们看下创建好的Web项目的基本结构 其中,Java跟test是我自己创的,然后就是一般的webapp文件,和pom配置文件,要在w ...
- JS高度融合入门笔记(二)
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>JS ...
- 几种常用的git命令
1.合并代码出现冲突,用git status 查看冲突所在的文件 2. clone 指定分支分支的文件夹 git clone -b **** ***; 3.git merge 和 git rebase ...
- idea添加源代码目录,编译代码出现时钟样式
项目结构需要有一个target目录,需要一个src目录,
- C# 面试题 (一)
一.C# 理论 1.1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类 ...