资讯专栏INFORMATION COLUMN

如何利用Pandas查询选取数据

89542767 / 355人阅读

  小编写这篇文章的主要目的,主要还是利用Pandas这门工具,去进行编程等一系列的一些操作,比如可以用来进行增删查改等一系列的操作步骤。那么,怎么利用Pandas去查询数据呢?下面就给大家详细解答下。


  一,Pandas查询数据的几种方法


  df[]按行列选取,这种情况一次只能选取行或者列


  df.loc方法,根据行、列的标签值查询


  df.iloc方法,根据行、列的数字位置查询,根据索引定位


  df.query方法


  二,Pandas使用df.loc查询数据的方法


  使用单个label值查询数据


  使用值列表批量查询


  使用数值区间进行范围查询


  使用条件表达式查询


  调用函数查询


  注意


  以上查询方法,既适用于行,也适用于列


  ##########################################


  df[]
  >>>df=pd.DataFrame(np.random.rand(25).reshape([5,5]),index=['A','B','C','D','E'],columns=['c1','c2','c3','c4','c5'])
  >>>df
  c1 c2 c3 c4 c5
  A 0.499404 0.082137 0.472568 0.649200 0.121681
  B 0.564688 0.102398 0.374904 0.091373 0.495510
  C 0.319272 0.720225 0.979103 0.910206 0.766642
  D 0.478346 0.311616 0.466326 0.045612 0.258015
  E 0.421653 0.577140 0.103048 0.235219 0.550336


  ##########################################


  #获取c1,c2两列


  df[['c1','c2']]
  >>>df[['c1','c2']]
  c1 c2
  A 0.499404 0.082137
  B 0.564688 0.102398
  C 0.319272 0.720225
  D 0.478346 0.311616
  E 0.421653 0.577140


  ##########################################


  #获取c1列


  df.c1


  >>>df.c1
  A 0.499404
  B 0.564688
  C 0.319272
  D 0.478346
  E 0.421653
  Name:c1,dtype:float64


  ##########################################


  #获取索引为A-C行数据


  df['A':'C']


  >>>df['A':'C']
  c1 c2 c3 c4 c5
  A 0.499404 0.082137 0.472568 0.649200 0.121681
  B 0.564688 0.102398 0.374904 0.091373 0.495510
  C 0.319272 0.720225 0.979103 0.910206 0.766642


  ##########################################


  #获取2-3行数据


  df[1:3]


  >>>df[1:3]
  c1 c2 c3 c4 c5
  B 0.564688 0.102398 0.374904 0.091373 0.495510
  C 0.319272 0.720225 0.979103 0.910206 0.766642


  df.loc方法查询


  1、使用数值区间进行范围查询


  有点类似list的切片


  >>>df.loc['A':'D',:]
  c1 c2 c3 c4 c5
  A 0.499404 0.082137 0.472568 0.649200 0.121681
  B 0.564688 0.102398 0.374904 0.091373 0.495510
  C 0.319272 0.720225 0.979103 0.910206 0.766642
  D 0.478346 0.311616 0.466326 0.045612 0.258015


  ##########################################


  2、单个label值查询


  类似坐标查询


  >>>df.loc['A','c2']
  0.08213716245372071


  ##########################################


  3、使用列表批量查询


  >>>df.loc[['A','B','D'],['c1','c3']]
  c1 c3
  A 0.499404 0.472568
  B 0.564688 0.374904
  D 0.478346 0.466326


  ##########################################


  4、使用条件表达式查询


  >>>df.loc[df['c2']>0.5,:]
  c1 c2 c3 c4 c5
  C 0.319272 0.720225 0.979103 0.910206 0.766642
  E 0.421653 0.577140 0.103048 0.235219 0.550336
  >>>df[(df['c2']>0.2)&(df['c3']<0.8)]
  c1 c2 c3 c4 c5
  D 0.478346 0.311616 0.466326 0.045612 0.258015
  E 0.421653 0.577140 0.103048 0.235219 0.550336


  ##########################################


  5、使用函数查询


  def query_my_data(df):
  return((df['c3']>0.2)&(df["c4"]<0.8))
  df.loc[query_my_data,:]
  c1 c2 c3 c4 c5
  B 0.845310 0.545040 0.946026 0.106405 0.984376
  C 0.844622 0.947104 0.878854 0.377638 0.175846
  E 0.139952 0.420424 0.364295 0.012773 0.307853


  ##########################################


  df.iloc方法查询


  同df.loc类似,根据索引定位


  #提取2-3行,1-2列数据


  df.iloc[1:3,0:2]


  >>>df.iloc[1:3,0:2]
  c1 c2
  B 0.564688 0.102398
  C 0.319272 0.720225


  ##########################################


  #提取第二第三行,第4列数据


  df.iloc[[1,2],[3]]


  c4
  B 0.091373
  C 0.910206

  ##########################################


  #提取指定位置单个数值


  df.iloc[3,4]


  >>>df.iloc[3,4]
  0.2580148841605816


  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128343.html

相关文章

  • Pandas之旅(一): 让我们把基础知识一次撸完,申精干货

    为什么你需要pandas 大家好,今天想和大家分享一下有关pandas的学习新的,我因工作需要,从去年12月开始接触这个非常好用的包,到现在为止也是算是熟悉了一些,因此发现了它的强大之处,特意想要和朋友们分享,特别是如果你每天和excel打交道,总是需要编写一些vba函数或者对行列进行groupby啊,merge,join啊之类的,相信我,pandas会让你解脱的。 好啦,闲话少说,这篇文章的基础...

    tuomao 评论0 收藏0
  • python_pandas学习

    摘要:的名称来自于面板数据和数据分析。以下的内容主要以为主。终端输入导入相关模块是一种类似于一维数组的对象,它由一组数据各种数据类型以及一组与之相关的数据标签即索引组成。如果仅传入一个序列,则会重新索引行函数的参数参数说明用作索引的新序列。 原文链接 numPy pandas的数据结构介绍 简介 Pandas [1] 是python的一个数据分析包,最初由AQR Capital Mana...

    codercao 评论0 收藏0
  • 数据科学系统学习】Python # 数据分析基本操作[二] pandas

    摘要:中面向行和面向列的操作基本是平衡的。用层次化索引,将其表示为更高维度的数据。使用浮点值表示浮点和非浮点数组中的缺失数据。索引的的格式化输出形式选取数据子集在内层中进行选取层次化索引在数据重塑和基于分组的操作中很重要。 我们在上一篇介绍了 NumPy,本篇介绍 pandas。 pandas入门 Pandas 是基于Numpy构建的,让以NumPy为中心的应用变的更加简单。 pandas...

    jayzou 评论0 收藏0
  • 用Python做数据分析:Pandas常用数据查询语法

    摘要:在使用之前,大多数数据分析师已经掌握了和,并且在刚上手时会经常习惯性想到老办法。这种根据列值选取行数据的查询操作,推荐使用方法。如果我又有一批数据,需要将两部分数据合并。 大毛 岂安科技业务风险分析师 多年订单业务反欺诈经验,负责岂安科技多款产品运营工作。 在使用Pandas之前,大多数数据分析师已经掌握了Excel和SQL,并且在刚上手Pandas时会经常习惯性想到老办法。如果谁能把...

    gghyoo 评论0 收藏0
  • 数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化和数据聚合与分组运算

    摘要:数据规整化清理转换合并重塑数据聚合与分组运算数据规整化清理转换合并重塑合并数据集可根据一个或多个键将不同中的行链接起来。函数根据样本分位数对数据进行面元划分。字典或,给出待分组轴上的值与分组名之间的对应关系。 本篇内容为整理《利用Python进行数据分析》,博主使用代码为 Python3,部分内容和书本有出入。 在前几篇中我们介绍了 NumPy、pandas、matplotlib 三个...

    The question 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<