pandas.DataFrame选取/排除特定行的方法
pandas.DataFrame选取特定行
使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选。
>>> df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB', 'AH'], ['HEN', 'HEN', 'HLJ'], ['SH', 'TJ', 'CQ']], columns=['p1', 'p2', 'p3']) >>> df p1 p2 p3 0 GD GX FJ 1 SD SX BJ 2 HN HB AH 3 HEN HEN HLJ 4 SH TJ CQ # 筛选p1列中值为'SD'和'HN'的行: >>> df[df.p1.isin(['SD','HN'])] p1 p2 p3 1 SD SX BJ 2 HN HB AH
pandas.DataFrame排除特定行
但是,如果我们只想要所有内容中不包含特定行的内容,却并没有一个isnotin()方法。我今天的工作就遇到了这样的需求,经常查找之后,发现只能换种方式使用isin()来实现这个需求。
# 将p1转换为列表,再从列表中移除特定的行: >>> ex_list = list(df.p1) >>> ex_list.remove('SD') >>> ex_list.remove('HN') >>> df[df.p1.isin(ex_list)] p1 p2 p3 0 GD GX FJ 3 HEN HEN HLJ 4 SH TJ CQ
以上这篇pandas.DataFrame选取/排除特定行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
解决pandas.DataFrame.fillna 填充Nan失败的问题
如果单独是 >>> df.fillna(0) >>> print(df) # 可以看到未发生改变 >>> print(df.fillna(0)) # 如果直接打印是可以看到填充进去了 >>> print(df) # 但是再次打印就会发现没有了,还是Nan 将其Nan全部填充为0,这时再打印的话会发现根本未填充,这是因为没有加上参数inplace参数. 一定要将inplace = True加入参数,这样才能让源数据发生改变并保存. &g
-
python dataframe 输出结果整行显示的方法
在使用dataframe时遇到datafram在列太多的情况下总是自动换行显示的情况,导致数据阅读困难,效果如下: # -*- coding: utf-8 -*- import numpy as np import pandas as pd df = pd.DataFrame(np.random.randn(1, 20)) print df 显示效果: 0 1 2 3 4 5 6 \ 0 -1.193428 -0.870381 -0.970323 -1.062275 1.227282 -3.01
-
pandas中的DataFrame按指定顺序输出所有列的方法
问题: 输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致. 例如: import pandas as pd grades = [48,99,75,80,42,80,72,68,36,78] df = pd.DataFrame( {'ID': ["x%d" % r for r in range(10)], 'Gender' : ['F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'],
-
python中pandas.DataFrame排除特定行方法示例
前言 大家在使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,关于python中pandas.DataFrame的基本操作,大家可以查看这篇文章. pandas.DataFrame排除特定行 如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. 但是如果我们只想要所有内容中不包含特定行的内容,却并没有一个isnotin()方法.我今天的工作就遇到了这样的需
-
浅析Python pandas模块输出每行中间省略号问题
关于Python数据分析中pandas模块在输出的时候,每行的中间会有省略号出现,和行与行中间的省略号....问题,其他的站点(百度)中的大部分都是瞎写,根本就是复制黏贴以前的版本,你要想知道其他问题答案就得去读官方文档吧. #!/usr/bin/python # -*- coding: UTF-8 -*- import numpy as np import pandas as pd import MySQLdb df = pd.read_csv('C:\\Users\\Administrato
-
在Python中Dataframe通过print输出多行时显示省略号的实例
笔者使用Python进行数据分析时,通过print输出Dataframe中的数据,当Dataframe行数很多时,中间部分显示省略号,如下图所示: 0 项华祥 1 何炅 2 张艺飞 3 李仁港 4 崔龄燕 5 董春泽 6 邓超.俞白眉 7 叶伟信,邹凯光 8 肖洋 ... 57 刘镇伟 58 周拓如 59 陆剑青.梁乐民 60 陈木胜 61 李仁港 62 许安.杨龙澄 63 吴天明 64 李骏 65 申太罗 66 吕寅荣.亚历山德罗·卡罗尼 67 罗兰·艾默里奇 68 布莱恩·辛格 69 安东尼
-
浅谈pandas中DataFrame关于显示值省略的解决方法
python的pandas库是一个非常好的工具,里面的DataFrame更是常用且好用,最近是越用越觉得设计的漂亮,pandas的很多细节设计的都非常好,有待使用过程中发掘. 好了,发完感慨,说一下最近DataFrame遇到的一个细节: 在使用DataFrame中有时候会遇到表格中的value显示不完全,像下面这样: In: import pandas as pd longString = u'''真正的科学家应当是个幻想家:谁不是幻想家,谁就只能把自己称为实践家.人生的磨难是很多的, 所以我们
-
解决Pandas的DataFrame输出截断和省略的问题
我们看一个现象: import pandas as pd titanic = pd.read_csv('titanic_data.csv') print(titanic.head()) Titanic_data.csv是kaggle上的泰坦尼克数据集,通过pandas读入到一个dataframe中,我们看看其前5行记录.输出结果如下: 可以看到,记录被分成了3段截断输出,如果想在一行输出,该怎么办呢?这就需要设置pandas的option选项: pd.set_option('display.wi
-
pandas.DataFrame选取/排除特定行的方法
pandas.DataFrame选取特定行 使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. >>> df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB', 'AH'], ['HEN', 'HEN', 'HL
-
pandas Dataframe实现批量修改值的方法
目录 1.使用iloc对数据进行批量修改 2.对数据进行判定后,相互+/-/某个数* 第一种方法:使用内置函数where函数 第二种方法:使用mask函数 第三种方法:replace函数 1.使用iloc对数据进行批量修改 使用iloc最简单的就是将数据批量修改为某个特定的值 以下是我随便写入的数据: 现在将[‘d’,‘e’]列,[2,3,4]行的数据全部修改为0 import pandas as pd data = pd.read_excel('some_chaneg.xlsx') data1
-
python pandas数据处理之删除特定行与列
目录 dropna() 方法过滤任何含有缺失值的行 方法一:dropna() 其他参数解析 方法二:替换并删除,Python pandas 如果某列值为空,过滤删除所在行数据 总结 dropna() 方法过滤任何含有缺失值的行 pandas.DataFrame里,如果一行数据有任意值为空,则过滤掉整行,这时候使用dropna()方法是合适的.下面的案例,任意列只要有一个为空数据,则整行都干掉.但是我们常常遇到的情况,是根据一个指标(一列)数据的情况,去过滤行数据,类似Excel里面的过滤漏斗,怎
-
pandas.DataFrame中提取特定类型dtype的列
目录 select_dtypes()的基本用法 指定要提取的类型:参数include 指定要排除的类型:参数exclude pandas.DataFrame为每一列保存一个数据类型dtype. 要仅提取(选择)特定数据类型为dtype的列,请使用pandas.DataFrame的select_dtypes()方法. 以带有各种数据类型的列的pandas.DataFrame为例. import pandas as pd df = pd.DataFrame({'a': [1, 2, 1, 3],
-
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
相信很多人像我一样在学习python,pandas过程中对数据的选取和修改有很大的困惑(也许是深受Matlab)的影响... 到今天终于完全搞清楚了!!! 先手工生出一个数据框吧 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc')) df 是这样子滴 那么这三种选取数据的方式该怎么选择呢? 一.当每列已有column name时,用
-
Pandas.DataFrame重置列的行名实现(set_index)
目录 set_index()的使用方法 基本用法 将指定的列保留为数据:参数drop 分配多索引 将索引更改为另一列(重置) 更改原始对象:参数inplace 读取csv文件等时指定索引 使用索引(行名)提取(选择)行和元素 pandas.DataFrame中的现有列分配给索引index(行名,行标签).为索引指定唯一的名称很方便,因为使用loc,at选择(提取)元素时很容易理解. 将描述以下内容. set_index()的使用方法 基本用法 将指定的列保留为数据:参数drop 分配多索引 将索
-
Shell用sed命令删除特定行的方法
sed命令作为一个强大的shell命令,可以快速删除任意特定的行列,配合awk命令可以轻松地操作批量处理文件,下面就来看看吧! sed命令常用到的两个选项: -i : 直接在文件上编辑 (edit files in place) -e[默认选项]:只在命令行输出,而文件不改变(add the script to the commands to be executed) 注:使用sed命令可以使用 -i 或者 -e 选项(以下例子仅以-i举例) sed命令删除特定行号 删除第N行 sed -i '
-
在Pandas DataFrame中插入一列的方法实例
目录 引言 示例1:插入新列作为第一列 示例2:插入新列作为中间列 示例3:插入新列作为最后一列 补充:按条件选择分组分别赋值 总结 引言 通常,您可能希望在 Pandas DataFrame 中插入一个新列.幸运的是,使用 pandas insert()函数很容易做到这一点,该函数使用以下语法: insert(loc, column, value, allow_duplicates=False) 在哪里: loc: 插入列的索引.第一列是 0. column: 赋予新列的名称. value:
-
pandas DataFrame 删除重复的行的实现方法
1. 建立一个DataFrame C=pd.DataFrame({'a':['dog']*3+['fish']*3+['dog'],'b':[10,10,12,12,14,14,10]}) 2. 判断是否有重复项 用duplicated( )函数判断 C.duplicated() 3. 有重复项,则可以用drop_duplicates()移除重复项 C.drop_duplicates() 4. Duplicated( )和drop_duplicates( )方法是以默认的方式判断全部的列(上面
随机推荐
- vue的事件绑定与方法详解
- jQuery实现的数值范围range2dslider选取插件特效多款代码分享
- Debian灾难性漏洞
- Python简单删除列表中相同元素的方法示例
- 在ASP.NET 2.0中操作数据之七十二:调试存储过程
- Javascript编写俄罗斯方块思路及实例
- PHP+Mysql无刷新问答评论系统(源码)
- dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
- Linux系统上Nginx+Python的web.py与Django框架环境
- python生成验证码图片代码分享
- php heredoc和phpwind的模板技术使用方法小结
- php多线程实现方法及用法实例详解
- Python使用tablib生成excel文件的简单实现方法
- 数据库设计三大范式简析
- sqlserver 批量删除存储过程和批量修改存储过程的语句
- JQUERY操作JSON实例代码
- jquery select下拉框操作的一些说明
- canvas绘制七巧板
- Android开发笔记之:Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- 静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。