【数据分析面试】3.编写数据选取函数(Python)

在这里插入图片描述

题目

给定了一个名为 students_df 的学生数据表格

nameagefavorite_colorgrade
Tim Voss19red91
Nicole Johnson20yellow95
Elsa Williams21green82
John James20blue75
Catherine Jones23green93

编写一个名为 grades_colors 的函数,以选择仅当学生喜欢的颜色是绿色或红色且他们的成绩高于90时的行。

示例:

输入:

import pandas as pdstudents = {"name" : ["Tim Voss", "Nicole Johnson", "Elsa Williams", "John James", "Catherine Jones"], "age" : [19, 20, 21, 20, 23], "favorite_color" : ["red", "yellow", "green", "blue", "green"], "grade" : [91, 95, 82, 75, 93]}students_df = pd.DataFrame(students)

输出:

def grades_colors(students_df) ->
nameagefavorite_colorgrade
Tim Voss19red91
Catherine Jones23green93

答案

答案代码

首先使用 isin() 方法选择喜欢的颜色为绿色或红色的行,然后使用条件筛选出成绩大于90的行,最后返回满足条件的结果。

def grades_colors(students_df):# 选择喜欢的颜色为绿色或红色,且成绩大于90的行result_df = students_df[(students_df['favorite_color'].isin(['green', 'red'])) & (students_df['grade'] > 90)]return result_df

Python代码 —— 选取特定值

# 多条件选取
new_df = df[(df['country'].isin(['Australia', 'New Zealand'])) &(df['points'] >= 95)
]# 使用 loc
new_df = df.loc[(df['country'].isin(['Australia', 'New Zealand'])) &(df['points'] >= 95)
]# 同一列不同值:年份为87、88、99年
df[(df['Year'] == 1987) |(df['Year'] == 1988) |(df['Year'] == 1999)]# 在两个连续值之间:1987-1988年之间
df[df['Year'].isin([1987, 1988])]# 根据特定条件,选择指定列的内容:87年,Size为High的数据中,I、M、Y、O四列
select_columns = ['I', 'M', 'Y', 'O']
df[(df['Year'] == 1987) &(df['Size'] == 'High')][select_columns]# 使用 loc,选择指定列的内容
df.loc[(df['Year'] == 1987) &(df['Outlet_Size'] == 'High'), select_columns]

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024最新Guitar Pro 8.1中文版永久许可证激活

Guitar Pro是一款非常受欢迎的音乐制作软件,它可以帮助用户创建和编辑各种音乐曲谱。从其诞生以来就送专门为了编写吉他谱而研发迭代的。 尽管这款产品可能已经成为全球最受欢迎的吉他打谱软件,在编写吉他六线谱和乐队总谱中始终处于行业领先地位&#x…

python 将时间字符串转为

要将时间字符串转换为Python中的datetime对象,可以使用datetime.datetime.strptime()函数。这里是一个例子: import datetime# 假设有一个时间字符串 time_str "2023-04-01 10:00:00" # 假设时间字符串的格式是年-月-日 时:分:秒# 使用strpt…

ESCTF-密码赛题WP

*小学生的爱情* Base64解码获得flag *中学生的爱情* 社会主义核心价值观在线解码得到flag http://www.atoolbox.net/Tool.php?Id850 *高中生的爱情* U2FsdG开头为rabbit密码,又提示你密钥为love。本地toolfx密码工具箱解密。不知道为什么在线解密不行。 *大学生的爱情* …

jira安装与配置

1. 环境准备 环境要求 1) JDK1.8以上环境配置 2) Mysql数据库5.7.13 3) Jira版本7及破解包 1.1 JDK1.8安装配置 1) 首先下载 JDK1.8, - 网址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html - windows64 版&am…

机器学习优化算法(深度学习)

目录 预备知识 梯度 Hessian 矩阵(海森矩阵,或者黑塞矩阵) 拉格朗日中值定理 柯西中值定理 泰勒公式 黑塞矩阵(Hessian矩阵) Jacobi 矩阵 优化方法 梯度下降法(Gradient Descent) 随机…

Pytorch的hook函数

hook函数是勾子函数,用于在不改变原始模型结构的情况下,注入一些新的代码用于调试和检验模型,常见的用法有保留非叶子结点的梯度数据(Pytorch的非叶子节点的梯度数据在计算完毕之后就会被删除,访问的时候会显示为None&…

STM32CubeMX学习笔记28---FreeRTOS软件定时器

一、软件定时器简介 1 、基本概念 定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户 可以自定义定时器的周期与频率。类似生活中的闹钟,我们可以设置闹钟每天什么时候响, 还能设置…

基于Python的商品评论文本情感分析

基于Python的商品评论文本情感分析通常涉及以下几个步骤: 1. 数据收集:首先,你需要收集商品评论数据。这些数据可以从网站、API或其他数据源获取。例如,你可以使用requests和BeautifulSoup库从网站抓取评论数据。 2. 数据预处理…

2024-03-28 Java8之Collectors类

Collectors类常用方法 文章目录 Collectors类常用方法1.toList、toSet、toMap2.joining、counting、summingInt、minBy3.groupingBy 1.toList、toSet、toMap Collector<T, ?, List<T>> toList(); //收集为List集合 Collector<T, ?, Set<T>> toSet()…

Unity | 工具类-UV滚动

一、内置渲染管线Shader Shader"Custom/ImageRoll" {Properties {_MainTex ("Main Tex", 2D) "white" {}_Width ("Width", float) 0.5_Distance ("Distance", float) 0}SubShader {Tags {"Queue""Trans…

2024.3.28学习笔记

今日学习韩顺平java0200_韩顺平Java_对象机制练习_哔哩哔哩_bilibili 今日学习p286-p294 继承 继承可以解决代码复用&#xff0c;让我们的编程更加靠近人类思维&#xff0c;当多个类存在相同的属性和方法时&#xff0c;可以从这些类中抽象出父类&#xff0c;在父类中定义这些…

22.C++中的原子操作

C中的原子操作 文章目录 C中的原子操作atomic_flagatomic<bool>atomic<T*>总结reference 欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f339;&#x1f339; C的原子操作也是为了解决多线程编程中同步的问题&#xff0c;它保证在执行原子操作时不…

Day24|回溯算法part01:理论基础、77. 组合

理论基础 回溯法&#xff0c;一般可以解决如下几种问题&#xff1a; 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合切割问题&#xff1a;一个字符串按一定规则有几种切割方式子集问题&#xff1a;一个N个数的集合里有多少符合条件的子集排列问题&#xff1a;N个数…

记录数据库系统时间和服务器时间有差的问题

问题&#xff1a; 在本月开发的时候&#xff0c;有一个问题&#xff0c;就是数据库时间和服务器时间不一致导致定时任务计数一直有问题。 数据库时间别当前时间慢2分钟 服务器时间和当前时间一致 现象&#xff1a; 在我们操作一个业务的时候&#xff0c;操作完&#xff0c;要…

如何通过vscode连接到wsl

下载wsl扩展 远程连接模式

Java方法重写:超越继承的界限

引言&#xff1a; 在面向对象编程&#xff08;OOP&#xff09;的世界里&#xff0c;方法重写&#xff08;Overriding&#xff09;是一个强大的特性&#xff0c;它允许子类改变或扩展继承自父类的方法的行为。Java中的方法是面向对象设计的核心&#xff0c;而方法重写则是实现多…

go的通信Channel

go的通道channel是用于协程之间数据通信的一种方式 一、channel的结构 go源码&#xff1a;GitHub - golang/go: The Go programming language src/runtime/chan.go type hchan struct {qcount uint // total data in the queue 队列中当前元素计数&#xff0c;…

Unity中控制帧率的思考

如何控制帧率&#xff1a; 在Unity中&#xff0c;你可以通过设置Application.targetFrameRate来限制帧率。 例如&#xff0c;如果你想将帧率限制为16帧&#xff0c; 你可以在你的代码中添加以下行&#xff1a; Application.targetFrameRate 16; 通常&#xff0c;这行代码会放在…

专题二_滑动窗口(2)

目录 1658. 将 x 减到 0 的最小操作数 解析 题解 904. 水果成篮 解析 题解 1658. 将 x 减到 0 的最小操作数 1658. 将 x 减到 0 的最小操作数 - 力扣&#xff08;LeetCode&#xff09; 解析 题解 class Solution { public:int minOperations(vector<int>& num…

题目 2906: 笨小猴

题目描述: 笨小猴的词汇量很小&#xff0c;所以每次做英语选择题的时候都很头疼。但是他找到了一种方法&#xff0c;经试验证明&#xff0c;用这种方法去选择选项的时候选对的几率非常大&#xff01; 这种方法的具体描述如下&#xff1a;假设maxn是单词中出现次数最多的字母的…