首页 > 其他分享 >数据分析面试题集锦(一)

数据分析面试题集锦(一)

时间:2022-10-14 15:31:30浏览次数:66  
标签:数据分析 面试题 join 函数 text 查询 集锦 连接 concat


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

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



本文讲解内容:Excel、SQL、Python面试必备

适用范围:多种数据分析实用技巧



数据分析面试题集锦(一)_字段

Excel篇

1、简述EXCEL中REPLACE函数与SUBSTITUTE函数的区别

REPLACEB根据指定的字符数,REPLACE 将部分文本字符串替换为不同的文本字符串。


REPLACEB(old_text, start_num, num_bytes, new_text)

SUBSTITUTE在文本字符串中用 new_text 替换 old_text。


SUBSTITUTE(text, old_text, new_text, [instance_num])

如果需要在某一文本字符串中替换指定的文本,使用函数 SUBSTITUTE,如果需要在某一文本字符串中替换特定位置处的任意文本,使用函数 REPLACE。

2、简述EXCEL中FIND函数与SEARCH函数的区别

FIND在一个文本值中查找另一个文本值(区分大小写)。


FIND(find_text, within_text, [start_num])

SEARCH在一个文本值中查找另一个文本值(不区分大小写)。


SEARCH(find_text,within_text,[start_num])

FIND函数区分大小写,并且不允许使用通配符,而SEARCH函数不区分大小写,可以使用通配符查询。

3、如何利用数据透视表实现非重复计数

如果在透视表里以非重复计数项的话,需要在创建数据透视表的时候,勾选将此数据添加到数据模型(M)。

数据分析面试题集锦(一)_数据_02

添加数据透视表字段,选中数据区域点击值字段设置,在这里选择需要的计数方法,要统计非重复数值,就选择非重复计数。

数据分析面试题集锦(一)_子查询_03

PS:只有.xlsx格式的文件才能添加数据模型,使用透视表非重复计数功能,.xls和.csv格式的文件都不能使用。

SQL篇

1、简述SQL关联查询

根据SQL中的链接关系可以分为一对一连接、一对多连接、多对多连接。

(1)内连接

内连接只返回两个表中连接字段相等的行,如下将两个表内连接:


select * from table1 inner join table2 on

(2)左连接

左连接(left join)返回左表中所有记录和右表中连接字段相等的记录,如果两个表中字段并不完全一一对应,想要那些没有对应的字段也显示出来就可以使用左连接和右连接查询,左连接两表的例子:


select * from table1 left join table2 on

(3)右连接

右连接(right join)返回右表中所有记录和左表中连接字段相等的记录,语法与左连接同,右连接两表的例子:


select * from table1 right join table2 on

2、简述SQL子查询

子查询就是把一个查询的结果在另一个查询中使用,根据子查询的用法可以分为单行子查询和多行子查询:

(1)单行子查询

返回的结果集为单个的子查询,叫做单行子查询,单行比较符有 >、>=、<、<=、!=

(2)多行子查询

返回的结果集为多个的子查询,为多行子查询,多行子比较符有 IN(等于列中任意一个)、ANY(和子查询返回的某个值比较),ALL(和子查询返回的所有值比较)。

同时,根据子查询在SQL语句的位置,可分为select子查询、from子查询、where子查询。

3、简述SQL窗口函数

窗口函数可以对数据库数据进行实时分析处理,语法如下:



select *,窗口函数 over (partition byorder by

窗口函数主要是两类函数,一类是用于分组排序的rank、dense_rank、row_number等专用窗口函数,另一类是聚合函数sum、avg、count、max、min等聚合函数,与group by分组相比,group by分组汇总后改变了表的行数,一行只有一个类别,而partiition by和rank函数不会减少原表中的行数。

Python篇

1、loc和iloc的区别

loc是通过行标签索引index来索引行数据,标签索引可以是字符,可以是整数,iloc是根据行号来索引,行号从0开始,逐次加1,iloc的列参数只能是整数,不能是字符,当用行号索引的时候, 尽量用 iloc 来进行索引,而用标签索引的时候则用 loc。

2、append、concat、jion、merge的区别

append()的默认操作效果跟concat()相同, 都是实现两个DataFrame的纵向连接。事实上可以把它看做concat()的早期版本,concat可以设置axis=1做横向连接,而append只能做纵向连接。




df = df1.append(df2, ignore_index=True)df = pd.concat([df1, df2], ignore_index=True)df = pd.concat([df1, df4], axis=1)#concat横向连接

concat, append默认用来纵向连接DataFrame对象,join和merge用来横向连接DataFrame对象,df.join相同行索引的数据被合并在一起,与merge相似,只是join方法默认为左外连接how='left',而merge有多种连接方式。



df=df1.join(df2)df = pd.merge(left, right, on='key')

根本区别在于是否基于"键"来进行合并,如果只是简单地上下堆砌,则用concat和append比较合适,而如果遇到关联表进行左右拼接,需要根据"键"来合并,则用merge和join。

同时,concat 和 merge是pandas的属性,所以调用的时候应该写成pd.concat()或者pd.merge(),而append和join是对DataFrame的方法,所以调用的时候应该写成df.append()或者df.join()。

3、groupby、pivot_table、crossta的区别

类似excel的数据透视表,一般是按照行进行分组。


df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True,squeeze=False, observed=False, **kwargs)

与excel的数据透视表功能相似,使用方法pd.pivot_table,或直接使用df.pivot_table的方法,既能按照行分组,也能按照列分组。


pivot_table(self, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')

交叉表的功能较简单,默认用来统计元素出现的频数,使用方法如下。


pd.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)


标签:数据分析,面试题,join,函数,text,查询,集锦,连接,concat
From: https://blog.51cto.com/u_15828536/5757048

相关文章

  • SPSS数据分析,试卷信度的检验与分析
    试卷是考试运行的重要载体,其质量的高低不仅直接影响着考试的可靠度和准确度,往往还直接或间接地影响到学生的学习态度和学习行为。试卷信度是教育测量及评价中一个重要概念,人......
  • EXCEL数据分析,动态仪表盘制作
    我们通常见到的仪表盘图类似汽车内的里程表,常用于反应目标达成率或者是目标的完成情况,从直观上了解数据内容,展现目标的达成和变化情况。本节使用收入目标值的数据,使用EXCEL......
  • 数据分析入门必读书籍
    1数据分析的定义数据分析是用恰当的统计分析方法对收集来的大量数据进行分析,然后加以处理和加工,以开发数据的功能、挖掘数据的价值,主要目的是为了清洗出有用的信息并形成结......
  • 帕累托图形在数据分析中的应用
    1二八法则二八法则是由意大利经济学家巴莱多发现的,他认为,任何一组事物中,最重要的只占其中20%,其余的80%虽然是多数,但是是次要的,由帕累托法则可以得出,80%的问题是由20%的原因......
  • EXCEL数据分析,销售个人KPI电池图制作
    KPI常用来衡量部门人员的业绩指标,由KPI电池图,可以清楚的看出销售个人的KPI达成情况,对于达成好的销售持续激励,达成落后的销售,是不是该“充充电”了,对销售进行赋能培训,挖掘潜......
  • 在线数据分析网站
    不同的工作中有各种各样的需求需要各种各样的数据一开始面对这些要求时可能一筹莫展在经过漫长时间的数据分析积累小编收集并整理了一些在线数据分析的网站本文就把这些网站......
  • 图解Java设计模式之设计模式面试题
    图解Java设计模式之设计模式面试题​​1.1Java设计模式内容介绍​​​​1.1.1先看几个经典的面试题​​​​1.1.2设计模式的重要性​​1.1Java设计模式内容介绍1.1.1先......
  • 个人珍藏的80道多线程并发面试题(1-10答案解析)
    前言​个人珍藏的80道Java多线程/并发经典面试题,因为篇幅太长,现在先给出1-10的答案解析哈,后面一起完善,并且上传github哈~❝​​https://github.com/whx123/JavaHome​​❞「......
  • Vue面试题32:你用过自定义指令吗?(总结自B站up主‘前端杨村长’视频,仅供自用学习)
    分析:这是一道API题,我们可能写的自定义指令少,但是我们用的多呀,多举几个例子就行;使用://Vue2directives:{focus:{inserted(el,binding,vnode){el.f......
  • 金九银十,自动化测试面试题精选【美团二面】
    面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭......