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

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

时间:2022-10-14 15:34:23浏览次数:56  
标签:数据分析 面试题 df 合并 点击 集锦 path 数据 id

数据分析面试题集锦(二)_desktop

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

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



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

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



数据分析面试题集锦(二)_desktop_02

Excel篇

1、Excel如何提取指定字符内容

分别提取货号和销售单编号里的字母和数字。

数据分析面试题集锦(二)_数据分析_03

提取货号字母


=LEFT(C2,3)

提取货号数字


=RIGHT(C2,4)

提取单号字母


=LEFT(D2,FIND("-",D2)-1)

提取单号数字


=MID(D2,FIND("-",D2)+1,100)

2、Excel如何数据逆透视

将横向数据转为纵向数据,选择横向单元格区域,点击数据选项卡,点击获取与转换中的从表格,点击创建表。

数据分析面试题集锦(二)_desktop_04

在主页中单击将第一行用作标题。

数据分析面试题集锦(二)_数据_05

按住Ctrl键选中不需要逆透视的列,在转化选项卡下点击逆透视其他列。

数据分析面试题集锦(二)_desktop_06

如框选的部分,数据完成逆透视,在主页选项卡下点击关闭并上载功能,将数据加载至sheet表中。

数据分析面试题集锦(二)_数据_07

3、Excel数据如何分组合并

数据分组后合并,选择单元格数据区域,点击数据选项卡,点击获取与转换中的从表格,点击创建表。

数据分析面试题集锦(二)_数据分析_08

选择转换选项卡分组依据,分组类别为产品类别,柱为产品名称,操作为求和,点击确定。

数据分析面试题集锦(二)_desktop_09

将阴影选中的公式部分List.Sum替换为Text.Combine。

数据分析面试题集锦(二)_desktop_10

如框选的部分,数据完成分组合并,在主页选项卡下点击关闭并上载功能,将数据加载至sheet表中。

数据分析面试题集锦(二)_数据分析_11

SQL篇

1、SQL的执行顺序

大多数编程语言代码都是按编码顺序执行的,但是在SQL语言中,第一个被执行的语句是FROM子句,每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入,如下的顺序即SQL的执行顺序。



(8)SELECT (9)DISTINCT  (11)<Top Num> <select list>(1)FROM(3)<join_type> JOIN(2)ON(4)WHERE(5)GROUP BY(6)WITH <CUBE | RollUP>(7)HAVING(10)ORDER BY

2、计算用户的平均次日留存率

使用date_add计算一天后的日期,使用distinct device_id,date计算得出设备ID和答题日期,再计算第二天,再通过左连接,将构造的第二天和实际答题表对接,连接条件为设备ID相同,构造的第二天和真实的答题日期相同,因为是左连接,所以右侧没有符合条件的会是空值,最后就是count计算。


select count(t3.device_id)/count(t2.device_id) asfrom (select t1.*,date_add(t1.date,interval 1 day) asfrom (select distinct device_id,date from question_practice_detail ) as t1) asleft join (select distinct device_id,date fromas t3 on t2.device_id=t3.device_id and

数据分析面试题集锦(二)_desktop_12

Python篇

1、批量合并同一文件夹不同工作簿数据

第一个方法,使用OS库遍历出文件夹中的各个工作簿名称,df导入第一个工作簿,dfi循环导入其他工作簿,最后使用concat函数进行两个列表合并。


import pandas asimport
path=r'C:\Users\尚天强\Desktop\测试'listdir=os.listdir(path)df=pd.read_excel(path+'\\'+ listdir[0])#导入第一个数据表
for filename in listdir[1:]:'\\'+ filename) #导入除第一个数据表外其他数据表#数据纵向合并
df.to_excel(path+'\\'+'数据合并.xlsx',index=False)

第二个方法,建立一个空的列表[],df跳过表头循环导入数据,将循环导入的数据使用extend函数合并值空的列表dfs中,最后用concat函数列表合并。


import pandas asimport
dfs = []
read_path=r'C:\Users\尚天强\Desktop\测试数据'save_path=r'C:\Users\尚天强\Desktop'save_name='out_table.xlsx'
for fname inif fname.endswith(".xlsx") and"\\"+fname,skiprows=1,header=None,sheet_name=None) #names=['序列','日期','销量'] dfs.extend(df.values())#合并result = pd.concat(dfs)
#导出数据result.to_excel(save_path+"\\"+save_name,index=False,header=['id','number','sale'])

2、批量合并不同工作簿不同sheet表数据

该方法首先建一个空的表格,使用openpyxl库,循环导入不同工作簿,不同sheet表,不同行的数据,然后进行合并。



from openpyxl importimport
def concat_data(file_path,save_path): files_name=os.listdir(file_path)#创建新表格 new_wb=Workbook() new_ws=new_wb.active'销售日期', '员工工号', '销售员', '货号', '销售单编号', '销量', '销售额'] new_ws.append(header)#向新的表格写入数据for file_name in"\\"+file_name)for sheet in ws=wb[sheet]for row in ws.iter_rows(min_row=2,values_only=True): new_ws.append(row)#数据保存"\\"+"数据合并.xlsx")concat_data(r"C:\Users\尚天强\Desktop\2017年销售明细",r"C:\Users\尚天强\Desktop")

3、Python批量数据拆分

如果将汇总的数据表按照某个品牌或者企业进行批量拆分,首先使用unique函数将需要拆分的字段去重,然后使用df.loc函数循环筛选,最后数据导出。



import pandas asdf=pd.read_excel(r'C:\Users\尚天强\Desktop\数据批量拆分.xlsx')city=df['城市'].unique().tolist()
for i in'城市']==i]r'C:\Users\尚天强\Desktop'+'\\'+ i + '.xlsx',index=False)

4、Python计算当前时间进度

计算当前的时间进度,定义一个字典,月份键对应着天数值,使用datetime函数计算求得。


import#时间进度dic = {"1月": 31, "2月": 28, "3月": 31, "4月": 30, "5月": 31, "6月": 30, "7月": 31, "8月": 31, "9月": 30, "10月": 31,"11月": 30, "12月": 31}for i in range(12):if datetime.datetime.now().month == i + 1:"{}月".format(i + 1)]) ,2)'当前本月时间进度为:{:.0%}'.format(timing))

当前本月时间进度为:35%

5、Python计算数据环比

计算数据的环比,这里首先使用numpy构建一组随机数,然后使用pct_change函数计算环比,最后apply结合lambda函数自定义数据格式为保留两位小数的百分数格式。



import pandas asimport numpy asdf=pd.DataFrame(data=np.random.randint(100, 500, (7, 1)),'2021/12/01',periods=7),'销量'])
df['环比']=df['销量'].pct_change().apply(lambda x:format(x,'.2%'))df


数据分析面试题集锦(二)_desktop_13



标签:数据分析,面试题,df,合并,点击,集锦,path,数据,id
From: https://blog.51cto.com/u_15828536/5757033

相关文章

  • Excel数据分析函数必备,超全总结
    为什么要学习Excel?首先,Excel是一个好用的工具,并不会因为你会Python而成为数据分析师,而是能用任何工具解决实际的业务问题,其次,Excel因为其简单易用,而受到人们的青睐。一般学......
  • 数据分析面试题集锦(一)
    大家好,今天整理了数据分析面试题集锦(一),经常会被问到,“数据分析需要学习什么技能?”,“针对实际的业务场景,如何使用数据分析工具去分析?”基于此作者总结数据分析面试常用的问......
  • 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​​❞「......