每日一题22:Pandas:字符串函数之患某种疾病的患者

一、每日一题 

患者信息表: Patients

+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| patient_id   | int     |
| patient_name | varchar |
| conditions   | varchar |
+--------------+---------+
在 SQL 中,patient_id (患者 ID)是该表的主键。
'conditions' (疾病)包含 0 个或以上的疾病代码,以空格分隔。
这个表包含医院中患者的信息。

查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。

按 任意顺序 返回结果表。

查询结果格式如下示例所示。

示例 1:

输入:
Patients表:
+------------+--------------+--------------+
| patient_id | patient_name | conditions   |
+------------+--------------+--------------+
| 1          | Daniel       | YFEV COUGH   |
| 2          | Alice        |              |
| 3          | Bob          | DIAB100 MYOP |
| 4          | George       | ACNE DIAB100 |
| 5          | Alain        | DIAB201      |
+------------+--------------+--------------+
输出:
+------------+--------------+--------------+
| patient_id | patient_name | conditions   |
+------------+--------------+--------------+
| 3          | Bob          | DIAB100 MYOP |
| 4          | George       | ACNE DIAB100 | 
+------------+--------------+--------------+
解释:Bob 和 George 都患有代码以 DIAB1 开头的疾病。

解答:

import pandas as pddef find_patients(patients: pd.DataFrame) -> pd.DataFrame:result = patients[patients['conditions'].str.contains(r'\bDIAB1',regex = True)]return result

题源:Leetcode

二、 总结:

详细解释如下:

  • patients['conditions']:这部分代码是选取DataFrame patients 中名为conditions的列。
  • .str:这是pandas中用于对Series(即一维数组,这里是conditions列)中的每个元素应用字符串方法的访问器。
  • .contains(r'\bDIAB1\b', regex=True):这部分是用来检查每个conditions列的元素是否包含特定的正则表达式模式。这里的模式是\bDIAB1\b\b是边界匹配符,表示DIAB1必须作为一个完整的单词出现,而不是作为其他单词的一部分。regex=True参数表明我们正在使用正则表达式进行匹配。

2024.5.25

 

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

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

相关文章

【C语言】指针运算

前言 前面在“走进指针世界”中我已经讲解过指针相关的很多前置知识,其实还有一个很重要的部分就是指针的运算。这篇博客,就让我们一起了解一下指针的运算吧! 指针作为变量,是可以进行算术运算的,只不过情况会和整型…

LLM-Llama在 MAC M1上体验Llama.cpp和通义千问Qwen 1.5-7B

Llama.cpp的主要目标是在各种硬件上(本地和云端)实现LLM推断,同时保持最小的设置和最先进的性能。 纯C/C实现,没有任何依赖关系Apple芯片是一级的支持对象 - 通过ARM NEON、Accelerate和Metal框架进行优化对x86架构的AVX、AVX2和…

中医理疗元宇宙 中医理疗元宇宙

记者从烟台高新区卫生健康局获悉,辖区容大东海岸社区卫生服务站大力挖掘、整理、传承、发扬中医医疗技术,提升医疗服务品质,发挥中医在社区常见病、多发病防治中的作用,让居民在家门口就能享受到专业的中医治疗。 容大东海岸社区卫…

Go语言的命名规范是怎样的?

文章目录 Go语言的命名规范详解一、标识符命名规范示例代码 二、包名命名规范示例代码 三、变量命名规范示例代码 四、常量命名规范示例代码 五、函数命名规范示例代码 总结 Go语言的命名规范详解 在Go语言中,代码的命名规范对于项目的可读性、可维护性和可扩展性至…

Visual Studio 2022 GTK4 GUI 开发 Project Key setting

Visual Studio 2022 GTK4 Project Key setting 一般情况下需要MSYS2,然后参考Linux下开发。 这里使用第二种,直接 VS 编译好的bin/lib/include的开发。 预编译好的文件(只有x64版本): https://github.com/wingtk/gv…

openresty完美替代nginx

OpenResty相较于Nginx,其优势主要体现在以下几个方面: 1、Lua脚本支持:OpenResty内置了LuaJIT(Lua的即时编译器),使得用户可以直接在Nginx配置文件中使用Lua脚本,这样可以实现更复杂的业务逻辑…

手动修改docker中oceanbase-ce容器cpu资源使用上限

##docker中oceanbase-ce 容器占用cpu100% 使用cgroup限制cpu使用上限 top - 16:30:22 up 36 min, 1 user, load average: 7.34, 10.62, 8.99 Tasks: 400 total, 1 running, 399 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.5 us, 1.3 sy, 0.0 ni, 94.9 id, 0.1 wa,…

前端菜鸡,对于35+程序员失业这个事有点麻了

“经常看到30岁程序员失业的新闻,说实话,有点麻。目前程序员供求关系并未失衡,哪怕是最基础的前端或者后台、甚至事务型的岗位也是足够的。 事实上,现在一个开出的岗位要找到一位尽职尽责能顺利完成工作的程序员并不是一件那么容…

Electron-1 electorn + vue3 + vite项目搭建,使用Electron-vite构建工具

文章目录 1.创建项目存在的问题 1.创建项目存在的问题 使用框架 : 现有的构建插件,使用也不错,但是封装过的,且各个版本不统一,想修改时会出现各种问题 比较不错的有如下几个 https://cn.electron-vite.org/guide/ https://www.el…

C++_string简单源码剖析:模拟实现string

文章目录 🚀1.构造与析构函数🚀2.迭代器🚀3.获取🚀 4.内存修改🚀5. 插入🚀6. 删除🚀7. 查找🚀8. 交换swap🚀9. 截取substr🚀10. 比较符号重载🚀11…

副业树洞聊天项目/树洞倾诉/陪陪系统源码/树洞源码下载搭建

随着社会的发展和人们生活水平的提高,越来越多的人在面临心理压力、情感困扰或生活困境时,需要一个可以宣泄、倾诉和寻求支持的平台。而传统的人际交往方式往往会遇到难以排解的问题,比如担心被他人知晓自己的隐私等,这就导致了人…

package.json中peerDependencies的使用场景

文章目录 peerDependencies 的使用场景peerDependencies 的使用案例为什么使用 peerDependencies需要注意的事项主要作用 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入&#xf…

DNS服务的部署与配置(1)

一、DNS的定义 1、域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。 它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 DNS使用UDP端口53。 当前&#xff0…

超简单白话文机器学习 - 回归树树剪枝(含算法介绍,公式,源代码实现以及调包实现)

1. 回归树 1.1 算法介绍 大家看到这篇文章时想必已经对树这个概念已经有基础了,如果不是很了解的朋友可以看看笔者的这篇文章: 超简单白话文机器学习-决策树算法全解(含算法介绍,公式,源代码实现以及调包实现&#x…

BL121DT网关在智能电网分布式能源管理中的应用钡铼技术协议网关

随着全球能源结构的转型和智能电网技术的飞速发展,分布式能源管理系统在提高能源利用效率、促进可再生能源接入及保障电网稳定运行方面发挥着日益重要的作用。然而,分布式能源系统内设备种类繁多,通信协议各异,如何高效整合这些设…

如何从http免费升级到https

使用https协议开头是为了在用户访问网站时提供更安全的网络环境。相比http,使用https有数据加密、身份验证、保护隐私、搜索引擎优化等优势。一般获取https证书,则需要支付费用给证书颁发机构(CA)。还有一些免费的证书证书颁发机构…

PostgreSQL角色迁移原理简述

概述 本文描述PostgreSQL角色迁移的流程,基于该方案可通过Java、Python等语言开发PostgreSQL角色迁移工具。 使用pg_dumpall导出角色 通过PostgreSQL数据库提供的pg_dumpall命令可以导出roles定义。 $ pg_dumpall --roles only CREATE ROLE test_role; ALTER RO…

测试之Springboot应用

测试之Spring Boot应用 在软件开发过程中,测试是确保代码质量的重要环节。本文将介绍针对Spring Boot应用的单元测试、集成测试和端到端测试的策略,以及如何使用Mock对象和测试切片来模拟外部依赖。同时,我们将使用JUnit和Spring Test框架进…

简述分代垃圾回收器是怎么工作的?

分代垃圾回收器是一种用于管理和回收内存中垃圾对象的技术。它根据对象的存活时间将内存分为不同的代,并针对每个代应用不同的垃圾回收策略。 分代垃圾回收器的工作过程如下: 内存分代:首先,将内存分为不同的代,通常是…

解决 SpringBoot 的 Date、LocalDateTime 变成时间戳和数组的问题,创建自定义对象消息转换器

问题描述 SpringBoot 项目,当返回前端的数据类型为 Map 的时候,在 Map 中 put() 时间对象会出现以下问题: 传递的 Date 对象会变成时间戳传递的 LocalDateTime 对象会变成数组 问题复现 编写一个 Controller 方法,返回值为 Ma…