在pandas中怎么样实现类似mysql查找语句的功能:

select * from table where column_name = some_value;

pandas中获取数据的有以下几种方法:

  • 布尔索引
  • 位置索引
  • 标签索引
  • 使用API

假设数据如下:

import pandas as pdimport numpy as npdf = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),                   'B': 'one one two three two two one three'.split(),                   'C': np.arange(8), 'D': np.arange(8) * 2})
布尔索引

该方法其实就是找出每一行中符合条件的真值(true value),如找出列A中所有值等于foo

df[df['A'] == 'foo'] # 判断等式是否成立
位置索引

使用iloc方法,根据索引的位置来查找数据的。这个例子需要先找出符合条件的行所在位置

mask = df['A'] == 'foo'pos = np.flatnonzero(mask)  # 返回的是array([0, 2, 4, 6, 7])df.iloc[pos]#常见的iloc用法df.iloc[:3,1:3]
标签索引

如何DataFrame的行列都是有标签的,那么使用loc方法就非常合适了。

df.set_index('A', append=True, drop=False).xs('foo', level=1) # xs方法适用于多重索引DataFrame的数据筛选# 更直观点的做法df.index=df['A'] # 将A列作为DataFrame的行索引df.loc['foo', :]# 使用布尔df.loc[df['A']=='foo']
使用API

pd.DataFrame.query方法在数据量大的时候,效率比常规的方法更高效。

df.query('A=="foo"')# 多条件df.query('A=="foo" | A=="bar"')

数据提取不止前面提到的情况,第一个答案就给出了以下几种常见情况:1、筛选出列值等于标量的行,用==

df.loc[df['column_name'] == some_value]

2、筛选出列值属于某个范围内的行,用isin

df.loc[df['column_name'].isin(some_values)]  # some_values是可迭代对象

3、多种条件限制时使用&,&的优先级高于>=或<=,所以要注意括号的使用

df.loc[(df['column_name'] >= A) & (df['column_name'] <= B)]

4、筛选出列值不等于某个/些值的行

df.loc[df['column_name'] != 'some_value']df.loc[~df['column_name'].isin('some_values')] #~取反

dataframe 筛选_使用pandas筛选出指定列值所对应的行相关推荐

  1. python筛选包含特定值的行_使用pandas筛选出指定列值所对应的行

    在pandas中怎么样实现类似mysql查找语句的功能: select * from table where column_name = some_value; pandas中获取数据的有以下几种方法 ...

  2. jQuery - 实现设置指定列给动态表格的行生成自动序号

    jQuery - 实现设置指定列给动态表格的行生成自动序号 无表头表格 HTML jQuery 示意图 有表头表格 HTML jQuery 示意图 无表头表格 HTML <table id=&q ...

  3. python- 按指定列值筛选数据

    按指定列的值来筛选:df[df.column > c] 这里column是列名,且只能是字符串列名,不能是整型列名.c是常数. print(df[df.b > 2]) # 筛选数据表df中 ...

  4. java某个参数值设置为空_@PathVariable为空时指定默认值的操作

    @PathVariable为空时指定默认值, 可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下 @RequestMapping(value = {"/timeline/{uid ...

  5. 表头不一致的多个文件如何按规定表头提取汇总(多个Excel按指定列值提取汇总)工具

    表头不一致的多个文件如何按规定表头提取汇总(按列值提取汇总)工具 一.表头不一致问题 我们有很多Excel文件,但有的表多了一列,有的表少了一列,有的顺序还不一致.如下图Excel: 源文件1  与 ...

  6. python按指定条件筛选_求Python筛选数字集合内满足指定条件的数据方法,python筛选,唯一匹配是指mdash...

    求Python筛选数字集合内满足指定条件的数据方法,python筛选,唯一匹配是指&mdash 唯一匹配是指----任何找出来的一对数中,位于一个集合中的数只能和另一个集合中的唯一 一个数匹配 ...

  7. python dataframe遍历_在pandas中遍历DataFrame行的实现方法

    有如下 Pandas DataFrame: import pandas as pd inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,' ...

  8. python用pandas读取excel指定列_Python用Pandas读写Excel

    Pandas是python的一个数据分析包,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. Pandas提供了大量能使我们快速便捷地处理数据的函数和方法. 一.安装包 pan ...

  9. pandas 如何判断指定列是否(全部)为NaN(空值)

    判断某列是否有NaN df['$open'].isnull().any() # 判断open这一列列是否有 NaN 判断某列是否全部为NaN df['$open'].isnull().all() # ...

最新文章

  1. C mysql添加_MYSQL将表 B C 插入表A方法
  2. Dom4j 解析Xml文档及XPath查询 学习笔记
  3. Ubuntu12.04下Linux内核编译
  4. MySQL只读实例简介
  5. 07_支持向量机1_统计学习方法
  6. 关于stack 和heap
  7. 64 位系统 vs2013 配置 OpenCV-3.1.0
  8. Python基础---注意事项
  9. C++——WebServer服务器项目
  10. 【参赛作品19】【openGauss】gsql客户端工具(二)gsql客户端工具之Data Studio客户端工具
  11. 一:LAMP 架构简介
  12. python嵩天ppt_python知识精华:嵩天微专业笔记
  13. 校园实践-2015级软工07111501班级-校园二手交易项目组
  14. proteus中验证串联电阻分压、并联电阻分流
  15. 2022.10.13(四)[仿写《百草园到三味书屋》第二段]
  16. BUU XXE COURSE
  17. centos下espeak文本转语音的代码实现
  18. html关于布局的说法错误的是,关于可迁移技能以下说法错误的是
  19. android平板电脑怎么才能连接,安卓平板电脑如何连接网线?
  20. EDR端点检测与响应

热门文章

  1. python3爬虫入门教程-Python3爬虫学习入门教程
  2. python可以从事什么工作-学完Python开发可以从事哪些行业?
  3. python中的time库安装步骤-python中time库的使用
  4. python装饰器函数-python装饰器1:函数装饰器详解
  5. python语言的理解-Python动态语言理解
  6. python语言程序设计书-清华大学出版社-图书详情-《Python语言程序设计》
  7. python语法手册chm-python3.5.2官方帮助文档 参考手册(CHM版)
  8. python语言命令大全-Python常用命令最全合集
  9. python基础代码库-python3.4第三方库的安装?python基础代码库
  10. python 的标准库模块glob使用教程,主要为glob.glob()使用与glob.iglob()使用