前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python从零开始第三章数据处理与分析python.query()函数

Python从零开始第三章数据处理与分析python.query()函数

作者头像
用户1359560
发布2019-04-01 15:07:24
6.4K1
发布2019-04-01 15:07:24
举报
文章被收录于专栏:生信小驿站

=============================================== 本文主要介绍使用python.query()函数对数据框进行(挑选行)的操作

  • 构建数据框
代码语言:javascript
复制
import pandas as pd
d={
    'name':['a','n','c','d','e','f'],
    'Gender':['male','female','male','male','female','female'],
    'age':[23,24,24,22,21,20],
    'hight':[173,174,164,172,161,160],
    'weight1':[53,74,44,62,71,60],
    'weight2':[53,64,54,66,81,50]
}
df=pd.DataFrame(d)
df
Out[6]: 
  name  Gender  age  hight  weight1  weight2
0    a    male   23    173       53       53
1    n  female   24    174       74       64
2    c    male   24    164       44       54
3    d    male   22    172       62       66
4    e  female   21    161       71       81
5    f  female   20    160       60       50
  • 一般来说如果进行行挑选,可以进行的操作是:
代码语言:javascript
复制
df[df.age==24]
Out[13]: 
  name  Gender  age  hight  weight1  weight2
1    n  female   24    174       74       64
2    c    male   24    164       44       54

df[(df.age==24 )&( df.hight ==174)]
Out[14]: 
  name  Gender  age  hight  weight1  weight2
1    n  female   24    174       74       64
  • 但是如果用python.query函数,则更加有逻辑且代码更优雅
代码语言:javascript
复制
df.query("age==24")
Out[20]: 
  name  Gender  age  hight  weight1  weight2
1    n  female   24    174       74       64
2    c    male   24    164       44       54

df.query("age==24").query('hight==174')
Out[21]: 
  name  Gender  age  hight  weight1  weight2
1    n  female   24    174       74       64
Out[29]: 
  name Gender  age  hight  weight1  weight2
0    a   male   23    173       53       53
2    c   male   24    164       44       54
3    d   male   22    172       62       66
df.query('index > 2')
Out[47]: 
  name  Gender  age  hight  weight1  weight2
3    d    male   22    172       62       66
4    e  female   21    161       71       81
5    f  female   20    160       60       50
df.query('Gender =="male" and name =="a"')
Out[30]: 
  name Gender  age  hight  weight1  weight2
0    a   male   23    173       53       53

df.query('Gender =="male" and age<24')
Out[31]: 
  name Gender  age  hight  weight1  weight2
0    a   male   23    173       53       53
3    d   male   22    172       62       66
  • 除此之外,query()函数还可以进行不同列之间的值对比:
代码语言:javascript
复制
df.query('weight1 > weight2')
Out[22]: 
  name  Gender  age  hight  weight1  weight2
1    n  female   24    174       74       64
5    f  female   20    160       60       50
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.03.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档