• 前言
    如果不整活,那就是浪费生命

下面这个表,如果你想筛选出age大于等于18,小于等于30的行:

如果在mysql中整这种活很容易,用个where就可以了

在pandas中也有相当于where作用的语法,loc

筛选18<=age<=30的数据:

import pandas as pdstu = pd.read_csv("data/student.csv", index_col='id')# 留下18<=年龄<=30
def age_18_to30(a):return 18 <= a <= 30# 留下 85<=score
def level_a(s):return 85 <= s# 使用loc会生成一个新的series
stu = stu.loc[stu['age'].apply(age_18_to30)]
# 或者用下lambda表达式:
# stu = stu.loc[stu['age'].apply(lambda a:18<=a<=30)]print(stu)

结果:

而此时再加一个筛选条件:

age大于等于18,小于等于30且分数大于等于85:

代码:


import pandas as pdstu = pd.read_csv("data/student.csv", index_col='id')# 留下18<=年龄<=30
def age_18_to30(a):return 18 <= a <= 30# 留下 85<=score
def level_a(s):return 85 <= sstu = stu.loc[stu['age'].apply(age_18_to30)].loc[stu['score'].apply(level_a)]print(stu)

结果:

其中,获取莫一列,我们一直使用的是stu['age'],这个还可以写为:stu.age

然后就整活成功了

文件:F:\Project\python\src\WangYiYun\DataAnalysis\19_.py

完整代码:

# @DATE : 2021-1-2
# @TIME : 16:13
# @USER : kirin
import pandas as pdstu = pd.read_csv("data/student.csv", index_col='id')# 留下18<=年龄<=30
def age_18_to30(a):return 18 <= a <= 30# 留下 85<=score
def level_a(s):return 85 <= s# 使用loc会生成一个新的series
# stu = stu.loc[stu['age'].apply(age_18_to30)]
stu = stu.loc[stu['age'].apply(age_18_to30)].loc[stu['score'].apply(level_a)]
# 或者不使用 stu['age'] :
# stu = stu.loc[stu.age.apply(age_18_to30)].loc[stu.score.apply(level_a)]# 使用lambda表达式:
# stu = stu.loc[stu.age.apply(lambda a: 18 <= a <= 30)].loc[stu.score.apply(lambda s: 85 <= s)]# 代码太长回个车:(空格+反斜线+回车)
# stu = stu.loc[stu.age.apply(lambda a: 18 <= a <= 30)]. \
#     loc[stu.score.apply(lambda s: 85 <= s)]print(stu)

利用pandas对一列/多列进行数据区间筛选相关推荐

  1. DS之信息挖掘:利用pandas库统计某一列col中各个值出现的次数(降序输出)

    DS之信息挖掘:利用pandas库统计某一列col中各个值出现的次数(降序输出) 目录 利用pandas库统计某一列col中各个值出现的次数(降序输出) 输出结果 实现代码 利用pandas库统计某一 ...

  2. 利用pandas和matplotlib库对香港酒店数据进行分析

    1.数据预处理 import pandas as pd import numpy as npdf = pd.read_excel('./香港酒店数据.xlsx') print(df.head()) # ...

  3. pandas数据可视化_5利用Pandas进行强大的可视化以进行数据预处理

    pandas数据可视化 One of the most common pitfalls I observe repeatedly among relatively junior data scient ...

  4. 【python办公自动化(8)】批量处理调整Excel内容字体、对齐方式、边框、填充、合并与取消合并、行高及列宽(目标数据的筛选与标记)

    修改字体样式 Font(name=字体名称,size=字体大小, bold=是否加粗,italic=是否斜体,color=字体颜色) import os os.chdir('D:\\python_ma ...

  5. 【Python有趣打卡】利用pandas完成数据分析项目(二)——爬微信好友+分析

    今天依然是跟着罗罗攀学习数据分析,原创:罗罗攀(公众号:luoluopan1) Python有趣|数据可视化那些事(二) 今天主要是学习pyecharts(http://pyecharts.org/# ...

  6. Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)

    Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 目录 利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 输出结果 实现代码 利用pandas ...

  7. python利用pandas和xlrd读取excel,特征筛选列

    利用xlrd读取excel筛选0值超过99%的列,并删除import xlrdworkbook=xlrd.open_workbook(r"123.xlsx")table = wor ...

  8. 利用pandas进行exceld 的列相加求和

    利用pandas进行exceld 的列相加求和 一.简单的列相加 二.多列相加 一.简单的列相加 dataframe["新列"]=dataframe["第一列" ...

  9. python3利用pandas读取excel的列取出最大最小值

    python3利用pandas读取excel的列取出最大最小值 from pandas import DataFrame,read_exceldef openfile(path,name):#读取文件 ...

最新文章

  1. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
  2. java 配置微信js sdk_解析微信JS-SDK配置授权,实现分享接口
  3. 《机器人自动化:建模、仿真与控制》——2.3 仿真
  4. docker命令及挂载
  5. java 查看垃圾收集器_JVM系列:查看JVM使用的什么垃圾收集器
  6. Ant Design Landing 产品首页的设计神器
  7. LeetCode--434--字符串中的单词数
  8. BZOJ 2337 XOR和路径(概率DP)
  9. tcs标准编写软件_tcs 2010软件下载
  10. php 读取js文件,JS中如何读取文件
  11. 股市最好用的大数据软件_最实用的5款炒股软件
  12. 园区网络IP地址规划
  13. 指针c语言有什么作用,c语言中指针有什么用?
  14. 高效实现斐波那契数列(Fibonacci数列)
  15. 大数据时代个人隐私权保护机制构建与完善
  16. java手机怎么测网速_用来检查网络和网速android小程序
  17. 10-93 spj-查找在同一个城市的所有工程项目
  18. LG G7解OP开Volte
  19. 计算机论文的摘要和关键词是什么意思,论文中的摘要和关键词是什么?
  20. TwinCAT隐藏开机画面

热门文章

  1. [翻译] DoImagePickerController
  2. Vmware下安装CentOS6的特别注意,一定要在虚拟机上电时候按DEL,选择操作系统启动方式...
  3. 不攀比,不张望,用心,专一
  4. jdk1.5的类转换成jdk1.4的类文件
  5. 申威 linux内核,一种申威防火墙快速移植高版本linux内核的方法与流程
  6. iceberg对接flinksql测试
  7. mysql left join第一个_MySQL 之 LEFT JOIN 避坑指南
  8. 2022年2月国产数据库排行榜: OceanBase“三连增”重夺榜眼,GaussDB实现本月最大涨幅引期待...
  9. 亡羊补牢or防患未然?在数百套多种数据库中找出风险点(附PPT下载)
  10. 物联网通信技术,那些你不知道的事