数据分析师面试必备,数据分析面试题集锦(四)

news2024/11/19 1:18:23

大家好,今天整理数据分析面试题集锦,经常会被问到,“数据分析需要学习什么技能?”,“针对实际的业务场景,如何使用数据分析工具去分析?”基于此作者总结数据分析面试常用的问题,面试内容包括技能应用篇:EXCEL、SQL、Python、BI工具等,业务思维篇:常用的数据分析方法业务思维等。

其中大部分问题点,没有绝对标准答案,所有问题点都是为了解决问题,大家如果有更好的问题答案,也可以提出,对于其中的问题也可以提出,共同解答,欢迎点赞、转发、评论,下面一起来学习。

本文讲解内容:Excel、SQL、Python面试必备
适用范围:多种数据分析实用技巧

Excel篇

1、Excel创建多级下拉菜单

首先创建一组数据源,其中,省份为一级下拉菜单,市为二级下拉菜单,县为三级下拉菜单,并且在创建二级和三级菜单时,表头标题必须为前一级菜单里的内容。

鼠标框选创建好的数据源,使用快捷键Ctrl+G,点击定位条件。

在定位条件中勾选常量,点击确定。

点击公式选项卡中的根据所选内容创建。

弹出根据所选内容创建名称对话框后,勾选首行选项,再点击确定按钮。

创建一个需要下拉菜单的数据表,鼠标选中省份下需要创建一级菜单的数据区域,在数据选项卡下点击数据验证。

在允许里选择序列选项,来源选择之前创建的一级菜单省份下的数据区域,点击确定,一级下拉菜单就创建好了。

接下来创建二级下拉菜单,鼠标框选需要创建二级下拉菜单数据区域,在允许里选择序列,在来源里写入公式=INDIRECT($E2),INDIRECT返回由文本字符串指定的引用。

同样创建三级下拉菜单,鼠标框选需要创建三级下拉菜单数据区域,在允许里选择序列,在来源里写入公式=INDIRECT($F2)。

如下即创建了多级下拉菜单的数据表。

2、Excel批量生成工资条

首先间隔行创建辅助列,辅助列如下所示。

使用快捷键Ctrl+G,点击定位条件。

在定位条件中勾选空值。

定位出空的单元格后,右键点击插入。

插入整行后点击确定。

即可将原始数据每隔一行插入一行数据。

复制表格标题行,然后使用Ctrl+G快捷键定位出空值。

使用Ctrl+V快捷键快速粘贴标题行。

3、Excel快速插入间隔行

如下是一组工资数据,需要每隔一条工资数据批量插入两个空行。

如下创建辅助列,辅助列以递增的序列进行排列,创建多组辅助列。

点击按照升序排列,即可得到如下的结果,每一条工资数据间隔两行。

SQL篇

有一个学生课程数据库,数据库中包括三个表。

  1. 学生表Student由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept组成,可记为:Student(Sno,Sname,Ssex,Sage,Sdept)其中,Sno为关键字。
  2. 课程表Course由课程号Cno,课程名Cname、先修课号Cpno、学分Ccredit四个属性组成,可记为:Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。
  3. 学生选课表SC由学号Sno、课程号Cno、成绩Grade)三个属性组成,可记为:SC(Sno,Cno,Grade)(SNO,CNO)为关键字。

完成下列题目:

第一问:请把其中建立学生表Student的话句写下来,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能空,并且其值是唯一的。

CREATE TABLE Student 
(Sno varchar(20) PRIMARY KEY, 
Sname varchar(10), 
Ssex char(2), 
Sage int, 
Sdept varchar(25));

第二问:在Student表中查询Sdept是计算机的学生的所有信息,并按Sno列降序排列。

select *  
from Student 
where Sdept = "计算机" 
order by Sno desc;

第三问:在以上的三个表中查询Ccredit为5,并且Grade大于60的学生的学号、姓名和性别信息。

select a.Sno,a.Sname,a.Ssex  
from Student 
a join (Course b, SC c) 
on a.Sno=c.Sno and b.Cno =c.Cno  
where Ccredit = 5 and Grade > 60;

Python篇

Excel数据批量操作包括Excel文件拆分到不同的工作簿、将Excel文件拆分到不同的工作表、将不同的工作簿合并到一个Excel文件中、将不同的工作表合并到一个Excel文件中、Excel批量创建多个工作簿。

1、将Excel文件拆分到不同工作簿

import pandas as pd 
df=pd.read_excel(r'C:\Desktop\学生成绩表.xlsx')  

for i in df['科目'].unique():
     df[df['科目']==i].to_excel(f"C:\Desktop\数据拆分\{i}.xlsx",index=False)

2、将Excel文件拆分到不同工作表

import pandas as pd 
df=pd.read_excel(r'C:\Desktop\数据拆分\学生成绩表.xlsx') 

writer=pd.ExcelWriter(r'C:\Desktop\不同科目成绩表.xlsx')  

for i in df['科目'].unique():
     df[df['科目']==i].to_excel(writer,sheet_name=i,index=False) 

writer.save()

3、将不同工作簿合并到一个Excel文件中

import os 
path=r'C:\Desktop\数据合并' 
listdir=os.listdir(path) 
df=pd.read_excel(path+'\\'+ listdir[0])#导入第一个数据表 

for filename in listdir[1:]:
     dfi=pd.read_excel(path+'\\'+ filename) #导入除第一个数据表外其他数据表
     df=pd.concat([df,dfi],sort=False) #数据纵向合并 
     df.to_excel(r'C:\Desktop\学生成绩数据合并.xlsx',index=False)

4、将不同工作表合并到一个Excel文件中

import pandas as pd 
path=r'C:\Desktop\数据合并\不同科目成绩表.xlsx' 
sheet_names=pd.ExcelFile(path).sheet_names 

df=pd.read_excel(path,sheet_name=0)#导入第一个sheet表 

for sheetname in sheet_names[1:]:
     dfi=pd.read_excel(path,sheetname) #导入除第一个sheet表外其他sheet表
     df=pd.concat([df,dfi],sort=False) #数据纵向合并
     df.to_excel(r'C:\Desktop\学生成绩不同sheet表数据合并.xlsx',index=False)

5、Excel批量创建多个工作簿

from openpyxl import Workbook 
import os 
os.mkdir(r'C:\Desktop\批量创建文件夹')#创建一个新的文件夹  

name_list = ["湖南","湖北","河南","河北","山东","山西","广东","广西","贵州","陕西"]  

for name in name_list:
     wb = Workbook()
     wb.save(filename = f"C:\Desktop\批量创建文件夹\{name}.xlsx")
三年互联网数据分析经验,擅长Excel、SQL、Python、PowerBI数据处理工具,数据可视化、商业数据分析技能,统计学、机器学习知识,持续创作数据分析内容,点赞关注,不迷路,后台私信,免费获取数据分析资料。

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

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

相关文章

专业课128分总分400+南京理工大学818信号系统与数字电路南理工考研经验分享

专业课128分总分400南京理工大学818信号系统与数字电路南理工电光院考研经验分享,希望自己的经历对大家有借鉴。 我是在六月底确认自己保不上研然后专心备考的,时间确实比较紧张。虽然之前暑假看了一点高数,但因为抱有保研的期望&#xff0c…

Acrel-5000重点用能单位能耗在线监测系统的实际应用分析-安科瑞 蒋静

摘要:根据《重点用能节能办法》(国家发展改革委等第七部委2018年15号令)、《重点用能单位能耗在线监测系统推广建设工作方案》(发改环资[2017]1711号)和《关于加速推进重点用能单位能耗在线监测系统建设的通知》&#…

vue echarts折线图加背景颜色 值区域对应的右侧加上文本

mounted() {this.lineEcharts();},lineEcharts() {const option { tooltip: {trigger: axis,transitionDuration: 0 // 让toolltip紧跟鼠标,防止抖动},title: {text: 得分,left: 25,textStyle:{color: #333,fontSize: 12,fontWeight: 400}, },legend:…

JAVA毕业设计119—基于Java+Springboot+vue的智能停车场管理系统(源代码+数据库+9000字论文)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue的智能停车场管理系统(源代码数据库9000字论文)119 一、系统介绍 本项目前后端不分离 登录、控制台、停车场管理、车牌识别、车辆管理角色管理、系统菜单、…

Speech | 语音克隆Openvoice的论文解读及项目实现

本文主要介绍了语音克隆Openvoice的论文以及项目实现~ 论文题目:OpenVoice: Versatile Instant Voice Cloning 论文地址:2312.01479.pdf (arxiv.org) 项目地址:https://github.com/myshell-ai/OpenVoice.git 官网:Home (myshell.a…

Prometheus监控遇上报错invalid is not a valid start token

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 使用prometheus采集java应用的metric指标数据,在prometheus界面pod状态为down,报…

云HIS系统源码,基层卫生HIS系统,云端SaaS模式多医院版

系统介绍: 基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医院的主要工作…

AQS应用之BlockingQueue详解

概要 AQS全称是 AbstractQueuedSynchronizer,中文译为抽象队列式同步器。BlockingQueue,是java.util.concurrent 包提供的用于解决并发生产者 - 消费者问题的最有用的类,它的特性是在任意时刻只有一个线程可以进行take或者put操作&#xff0…

Cesium笔记 viewer控件隐藏

Cesium初始化后,场景中会有时间轴,动画,home等控件显示,需要将这些控件隐藏,如下: init() {let viewer new Cesium.Viewer("cesiumContainer", {fullscreenButton: false, // 隐藏界面右下角全…

【日志】Alertmanager+Loki实现Teams告警

目录 简介一、配置Webhook二、安装msteams三、配置Alertmanager简介 在前面的文章我们实现了Loki日志告警,接下来新增一种告警媒介:微软Teams 一、配置Webhook 这块我们主要借助incoming Webhook应用来发送消息到团队,把它添加到团队里,参考:https://www.cnblogs.com/a…

【Proteus仿真】【Arduino单片机】智能感应温控风扇

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602液晶显示模块、DS18B20温度、按键、声光报警、L293D电机驱动等。 主要功能: 系统运行后,LCD1602显示传感器检…

网络音频对讲广播模块-定时广播 ip网络广播音频模块SV-2401

1.模块介绍 SV-2400V网络音频模块是一款高性能的10/100M网络音频模块,采用高性能处理器及专业Codec,能接收网络音频数据流,转换成音频模拟信号输出。亦能采样本地的mic输入或linein输入,发送到网络上,供其他网络音频模…

Lumerical Examples------Ports

Lumerical Examples------Ports 引言正文示例引言 Ports 在 FDTD 工程中是一个很特别的组件,这里我们对它进行介绍 正文 虽然 Ports 不是严格意义上的 Monitor(监视器), 但是它也可以进行 S 参数提取。Ports 扮演着一个 frequency domain power monitor 的和 mode expan…

Mjdioureny练习二

(一)一个老人强烈的阳光照射 我跟他说:a old man strong sunlight 这四张照片都是很不错的 每一张都十分清晰而且十分真实逼真,细节把控的也十分完美。 (二)一个中国50岁的大叔,走在清晨的深林…

使用QPushButton实现计算机

1. 按钮类:QPushButton 1.1 信号 void clicked(bool checked false)//被点击触发void pressed()//当按下按钮时发出此信号void released()//当松开按钮时发出此信号void toggled(bool checked)//每当可检查按钮改变其状态时,都会发出此信号。1.2 实现按…

携程testab算法分析

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 这里只是我分析过程,以及一些重要点的记录,没有…

UE5 C++(十五)— TimerHandle(定时器)的使用

文章目录 设置定时器声明FTimerHandle定义执行函数设置定时器 清除定时器 定时器(Timer) 可用于执行延迟类型的操作,或让某些操作在一段时间内重复执行。 设置定时器 定时器的设置只需三步即可完成:声明定时器句柄 FTimerHandle…

固态硬盘只显示一半容量怎么办?

有时候我们会发现固态硬盘只显示一半容量,那么为什么会出现这个问题呢?下面我们就一起来了解一下。 为什么硬盘没有显示满容量? 在Windows 11/10/8/7中硬盘容量显示错误,有很多原因会导致这种情况发生。以下总结了一些常见的原因…

PHP开发日志 ━━ 不同方法判断某个数组中是否存在指定的键名,测试哪种方法效率高

我们可以用isset($arr[a]) 或者 array_key_exists(a, $arr) 来判断a键名是否存在与$arr数组。 那么这两种方式哪个运行速度快呢? 不多废话了,现在我们写一段代码来测试一下: $array [a > 1, b > 2, c > 3];$start microtime(tru…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷③

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷3 目录 需要竞赛软件包环境以及备赛资源可私信博主!!! 2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷3 模块一 …