数据合并 26-30题(30 天 Pandas 挑战)

news2024/9/21 20:39:56

数据合并

  • 1. 知识点
    • 1.27 左连接
    • 1.28 数据填充与交叉连接
    • 1.29 获取列值列表
  • 题目
    • 2.26 合作过至少三次的演员和导演
    • 2.27 使用唯一标识码替换员工ID
    • 2.28 学生们参加各科测试的次数
    • 2.29 至少有5名直接下属的经理
    • 2.30 销售员

1. 知识点

1.27 左连接

data=pd.merge(employees,employee_uni,on='id',how='left')

1.28 数据填充与交叉连接

  • 交叉合并
    df = pd.merge(students,subjects,how='cross')
    

在这里插入图片描述

  • 空值填充
    result['attended_exams'] = result['attended_exams'].fillna(0)
    

1.29 获取列值列表

data_max_id=employee.groupby('managerId').agg(counts=('managerId','count')).reset_index().query('`counts`>=5')['managerId'].tolist()

题目

2.26 合作过至少三次的演员和导演

在这里插入图片描述
在这里插入图片描述

import pandas as pd

def actors_and_directors(actor_director: pd.DataFrame) -> pd.DataFrame:
    actor_director=actor_director.groupby(['actor_id','director_id']).agg(counts=('director_id','count')).reset_index()
    actor_director=actor_director.query('`counts`>=3')[['actor_id','director_id']]
    actor_director.drop_duplicates(inplace=True)
    return actor_director

2.27 使用唯一标识码替换员工ID

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

import pandas as pd

def replace_employee_id(employees: pd.DataFrame, employee_uni: pd.DataFrame) -> pd.DataFrame:
    data=pd.merge(employees,employee_uni,on='id',how='left')
    data=data[['unique_id','name']]
    return data

2.28 学生们参加各科测试的次数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import pandas as pd

def students_and_examinations(students: pd.DataFrame, subjects: pd.DataFrame, examinations: pd.DataFrame) -> pd.DataFrame:
    # 交叉合并
    df = pd.merge(students,subjects,how='cross')
    # 计算参加的同学
    group = examinations.groupby(['student_id','subject_name']).agg(attended_exams=('subject_name','count')).reset_index()
    # 左连接
    result = pd.merge(df,group,on=['student_id','subject_name'],how='left')
    # 为空的未参加,填充为0
    result['attended_exams'] = result['attended_exams'].fillna(0)
    result = result.sort_values(by=['student_id','subject_name'])
    return result[['student_id', 'student_name', 'subject_name', 'attended_exams']]

2.29 至少有5名直接下属的经理

在这里插入图片描述
在这里插入图片描述

import pandas as pd

def find_managers(employee: pd.DataFrame) -> pd.DataFrame:
    data_max_id=employee.groupby('managerId').agg(counts=('managerId','count')).reset_index().query('`counts`>=5')['managerId'].tolist()
    results=employee.query(f'`id` in {data_max_id}')[['name']]
    return results

2.30 销售员

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import pandas as pd

def sales_person(sales_person: pd.DataFrame, company: pd.DataFrame, orders: pd.DataFrame) -> pd.DataFrame:
    # 找到与RED有关的,剩余的就是没有关的
    # 方法一:连表
    data_c_o=pd.merge(orders,company,on='com_id',how='left')
    data_c_o=data_c_o[data_c_o['name']=='RED']
    data_s_o=pd.merge(data_c_o,sales_person,on='sales_id',how='left')
    un=data_s_o['sales_id'].unique().tolist()
    results=sales_person.query(f'`sales_id` not in {un}')[['name']]
    return results

    # 方法二:不连表
    all_com_id=company.query('`name`=="RED"')['com_id'].values.tolist()
    all_sales_id=orders.query(f'`com_id` in {all_com_id}')['sales_id'].values.tolist()
    results=sales_person.query(f'`sales_id` not in {all_sales_id}')[['name']]
    return results

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

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

相关文章

2024图纸加密软件TOP8排行丨企业保护数据安全最佳选择

图纸往往包含了设计人员的创意和智慧,是企业的重要资产。加密可以防止未经授权的复制、分发或使用,保护设计的原创性和独特性不被侵犯。 许多图纸可能含有公司的商业秘密,比如特定的技术参数、生产流程或是产品设计等。这些信息若泄露给竞争…

美国Facebook直播网络卡顿问题怎么解决?

美国Facebook直播为用户提供了与当地客户、粉丝实时互动的机会,然而,有时由于网络问题,直播可能会出现卡顿现象,影响用户体验。本文将介绍解决美国Facebook直播网络卡顿问题的一种可能解决方案——接入海外直播网络专线。 了解美国…

国内知名源码交易平台及其特点,建议收藏!

​在数字化时代,源码交易平台成为连接开发者与项目需求的重要桥梁。这些平台不仅提供了丰富的源码资源,还促进了技术交流与合作。本文小编将分享介绍几个国内知名的源码交易平台,包括帮企商城、春哥技术博客、86资源网、春哥技术源码论坛以及…

如何选择高性价比的土壤检测仪器?

在现代农业与环保领域,土壤检测仪器的选择显得尤为关键。它不仅关系到土壤养分管理、作物健康生长,还涉及到环境保护和可持续发展。那么,面对市场上琳琅满目的土壤检测仪器,我们该如何选择一款实用的设备呢? 首先&…

智慧安防/智慧工厂/视频分析EasyCVR视频监控汇聚平台如何关闭国标设备的自动检索功能?

安防监控视频融合汇聚平台EasyCVR兼容性强,可支持Windows系统、Linux系统以及国产化操作系统等,平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能力,可拓展性强、视频能力灵活,能对外分发RTMP、RTSP、HTTP-…

用R在地图上绘制网络图的三种方法

地理网络图与传统的网络图不同,当引用地理位置进行节点网络可视化时,需要将这些节点放置在地图上,然后绘制他们之间的连结。Markus konrad的帖子(https://datascience.blog.wzb.eu/2018/05/31/three-ways-of-visualizing-a-graph-on-a-map/)&…

绝地求生PUBG兰博基尼怎么兑换 兰博基尼怎么获得

绝地求生采用虚幻4引擎制作,玩家们会在一个偏远的岛屿上出生,然后展开一场赢家通吃的生存竞赛,最后只会有1个人存活。当然,和其他生存游戏一样,玩家需要在广袤复杂的地图中收集武器、车辆、物资,而且也会有…

数字化设计与分析助力建造印度最大污水处理厂

利用 STAAD 开展结构分析和设计,为不稳定土体上的复杂水池系统开发稳定的基础 治理河流 新德里不仅是印度的首都,一个多世纪以来也一直是印度最重要的城市之一。这座城市于 1911 年作为新的政府所在地,历经 20 年时间建成了许多宏伟建筑&…

tomcat的优化和tomcat和nginx实现动静分离:

tomcat的优化 tomcat自身的优化 tomcat的并发处理能力不强。大项目不使用tomcat做为转发动态的中间件(k8s集群,python,rubby),小项目会使用(内部使用),动静分离。 优化tomcat的启动…

什么是离散化?

离散化 题目 你会这个题 吗? 题目 假定有一个无限长的数轴,数轴上每个坐标上的数都是 0 0 0。 现在,我们首先进行 n n n 次操作,每次操作将某一位置 x x x 上的数加 c c c。 接下来,进行 m m m 次询问&#x…

方圆资源网,方圆资源官网

在当今这个信息化高速发展的时代,方圆资源网络已成为推动社会进步、促进经济发展的重要力量。方圆资源网不仅汇聚了海量的信息资源,更为我们提供了一个高效、便捷的信息交流平台。本文旨在详细介绍资源网的概念、特点、功能以及其在现代社会中的重要意义…

基于Java的数码论坛系统设计与实现

你好,我是计算机领域的研究者。如果你对数码论坛系统开发感兴趣或有相关需求,欢迎联系我。 开发语言: Java 数据库: MySQL 技术: Java技术、MySQL数据库、B/S架构、SpringBoot框架 工具: Eclipse、MySQ…

Django文档简化版——Django快速入门——创建一个基本的投票应用程序

Django快速入门——创建一个基本的投票应用程序 准备工作1、创建虚拟环境2、安装django 1、请求和响应(1)创建项目(2)用于开发的简易服务器(3)创建投票应用(4)编写第一个视图1、编写…

数据库基础复习

数据库简介 关系型数据库:Mysql 、Oracle 、SqlServer.... DB2 达梦 非关系型数据库:Redis 、MongoDB... MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管…

【45 Pandas+Pyecharts | 去哪儿海南旅游攻略数据分析可视化】

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 日期处理,提取年份、月份2.4 经费处理2.5 天数处理 🏳️‍🌈 3. Pyecharts数据可视化3.1 出发日期_…

mysql在linux系统下重置root密码

mysql在linux系统下重置root密码 登录服务器时候mysql密码忘记了,没办法只能重置,找了一圈,把行之有效的方法介绍在这里。 错误展示: 我还以为yes就可以了呢,这是不行的意思。 关掉mysql服务 sudo systemctl stop …

基于大数据的电商产品评论数据分析与可视化--Python

基于大数据的电商产品评论数据分析与可视化 1绪论 1.1研究背景与意义阐述 随着电子商务领域的迅猛扩张,电商平台累积了海量的用户评价信息。这些建议不只是包含了消费者对产品的评价和经验分享,更重要的是,它们包含了丰富且价值巨大的信息。深度分析在线用户反馈不仅揭示…

【java web 01】3小时快速学习前端知识(收藏备用)

3小时快速学习前端知识【全栈专用】 一、教程简介1.1 Java 开发为何学Web技术1.2 课程设计1.3 课前准备 二、HTML2.1 Html简介2.1.1 HTML、CSS、JS分别有什么作用2.1.2 什么是HTML2.1.3 什么是标记语言 2.2 Hello,Html2.2.1 HTML基础结构2.2.2 专业词汇2.2.3 语法细…

SpringBoot后端验证码-防止密码爆破功能

一、简介 为了防止网站的用户被通过密码典爆破。引入验证码的功能是十分有必要的。而前端的验证码又仅仅是只防君子不防小人。通过burpsuit等工具很容易就会被绕过。所以后端实现的验证码才是对用户信息安全的一大重要保障。 实现思路: 1.引入图形生成的依赖 2.生成…

一文揭秘:中小企业选择做软文营销推广的优势有哪些?

在当今这个信息泛滥、注意力稀缺的时代,中小企业作为经济活力的重要组成部分,面临着前所未有的机遇与挑战。而相比于硬广告的直接灌输,软文营销推广以其独特的魅力,成为了中小企业提升品牌形象、吸引目标客户的重要手段。今天投媒…