版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年数据分析师数据处理及可视化试题及答案1.单选题(每题2分,共20分)1.1在Pandas中,下列代码执行后df的行数是多少?```pythonimportpandasaspddf=pd.DataFrame({'x':range(5)})df=df[df.x>2].reset_index(drop=True)df=df.drop_duplicates()```A.2 B.3 C.4 D.5答案:A1.2使用NumPy生成服从N(0,1)的1000个随机数,并计算其偏度(scipy.stats.skew)。若结果≈0.02,则下列说法正确的是:A.分布左偏 B.分布右偏 C.基本对称 D.无法判断答案:C1.3在Matplotlib中,欲将x轴刻度标签旋转45°,应使用:A.plt.xticks(rotation=45)B.plt.setp(ax.xticks,rotation=45)C.ax.set_xticklabels(rotation=45)D.plt.xlim(rotation=45)答案:A1.4对高维稀疏矩阵进行降维,优先选择:A.PCA B.t-SNE C.TruncatedSVD D.LDA答案:C1.5在SQL中,窗口函数ROW_NUMBER()OVER(PARTITIONBYdeptORDERBYsalaryDESC)的作用是:A.每个dept内按salary升序编号 B.全局按salary降序编号 C.每个dept内按salary降序编号 D.返回dept内最高salary答案:C1.6下列关于Seaborn的叙述,错误的是:A.sns.heatmap可绘制相关系数矩阵图 B.sns.pairplot可一次性绘制所有数值变量两两散点图 C.sns.boxplot只能画一个箱线图 D.sns.catplot支持kind='bar'答案:C1.7在Python中,对类别变量进行独热编码后,最可能导致的建模风险是:A.过拟合 B.欠拟合 C.梯度消失 D.数据泄露答案:A1.8使用Scikit-learn的StandardScaler.fit_transform(X)后,X的每一列:A.均值为0方差为1 B.均值为1方差为0 C.最小值为0最大值为1 D.不变答案:A1.9在Tableau中,将维度字段拖到“颜色”标记卡,默认生成:A.条形图 B.散点图 C.填充地图 D.按类别分色的视图答案:D1.10对时间序列做STL分解后,remainder项的均值理想状态下应:A.接近0 B.接近1 C.接近季节周期 D.与趋势相同答案:A2.多选题(每题3分,共15分;多选少选均不得分)2.1下列哪些操作会触发Pandas的SettingWithCopyWarning?A.df[df.x>0].y=1 B.df.loc[df.x>0,'y']=1 C.df2=df[df.x>0];df2['y']=1 D.df.iloc[0,0]=100答案:AC2.2关于特征缩放,下列说法正确的是:A.K-均值聚类前必须做 B.树模型不需要 C.主成分分析前必须做 D.岭回归对特征量纲敏感答案:ABCD2.3下列图表适合展示“部分-整体”关系的有:A.堆叠面积图 B.饼图 C.树状图 D.南丁格尔玫瑰图答案:ABCD2.4在PowerBI中,可创建“计算列”的DAX函数有:A.SUM B.CALCULATE C.RELATED D.IF答案:CD2.5下列属于Python可视化交互库的有:A.Plotly B.Bokeh C.Altair D.Pyecharts答案:ABCD3.填空题(每空2分,共20分)3.1在Pandas中,将字符串列date转为datetime类型并设为索引,一行代码为:df.date=pd.to_datetime(df.date);df=df.set_index('date')3.2使用NumPy计算两个数组a、b的皮尔逊相关系数,代码为:np.corrcoef(a,b)[0,1]3.3在Matplotlib里,设置图例字体大小为12的代码:plt.legend(fontsize=12)3.4SQL语句:SELECTPERCENTILE_CONT(0.5)WITHINGROUP(ORDERBYscore)FROMexam;返回的是:score的中位数3.5在Scikit-learn中,使用Pipeline将StandardScaler与LogisticRegression串起来,代码片段:fromsklearn.pipelineimportPipelinepipe=Pipeline([('sc',StandardScaler()),('clf',LogisticRegression())])3.6在Seaborn中,绘制核密度估计图的函数是:sns.kdeplot3.7Tableau计算字段里,将字符串“2026-06-01”转为日期函数:DATE("2026-06-01")3.8对DataFramedf按列x升序、列y降序排序,代码:df.sort_values(['x','y'],ascending=[True,False])3.9使用Python获取当前工作目录的OS模块命令:os.getcwd()3.10在JupyterNotebook中,查看当前变量占用内存的魔术命令:%whos4.判断题(每题1分,共10分;正确写“T”,错误写“F”)4.1t-SNE可用于高维稀疏文本向量降维并直接解释维度含义。 F4.2在Pandas里,df.groupby('city').size()返回Series,索引为city。 T4.3使用Seaborn的sns.heatmap()时,参数annot=True可在格子里显示数值。 T4.4对右偏分布取对数后,偏度一定变为负值。 F4.5SQL的窗口函数不能和GROUPBY同时出现在同一查询块。 F4.6Plotly生成的html可离线嵌入网页且无需额外JS文件。 T4.7在PowerBI中,度量值必须使用聚合函数。 F4.8使用PCA降维后,主成分方向彼此正交。 T4.9在Matplotlib中,plt.savefig('fig.png',dpi=300)将分辨率设为300dpi。 T4.10在Python中,deldf可立即释放DataFrame占用的全部内存。 F5.简答题(共25分)5.1(封闭型,5分)写出Python代码:对DataFramedf,计算每列缺失率并按降序排列,返回Series。答案:```pythonmissing_rate=df.isna().mean().sort_values(ascending=False)```5.2(开放型,6分)描述箱线图五个统计量的含义,并说明如何利用箱线图识别异常值。答案:下边缘(Q1-1.5IQR)、下四分位数Q1、中位数、上四分位数Q3、上边缘(Q3+1.5IQR)。异常值判定:小于Q1-1.5IQR或大于Q3+1.5IQR的观测值在图中以单独点呈现,可快速识别潜在异常。5.3(封闭型,6分)给定SQL表sales(date,amount),写查询计算7日移动平均销售额。答案:```sqlSELECTdate,AVG(amount)OVER(ORDERBYdateROWSBETWEEN6PRECEDINGANDCURRENTROW)ASma7FROMsales;```5.4(开放型,8分)阐述使用PCA前为何需要标准化,并说明在什么场景下可跳过标准化。答案:PCA受量纲影响,若变量尺度差异大,大尺度变量会主导主成分方向,导致解释偏差。标准化使各变量处于同一尺度,确保主成分反映真实方差结构。可跳过场景:所有变量已同单位且尺度接近,例如均为已归一化的图像像素值(0-255)或相关系数矩阵出发的PCA。6.应用题(共60分)6.1数据清洗与特征工程(计算类,15分)文件:telco.csv,包含customerID、tenure、MonthlyCharges、TotalCharges、Churn等。任务:①读取并检查TotalCharges列存在“空格”字符串,将其替换为NaN后转为float。(3分)②计算tenure为0且TotalCharges缺失的比例。(3分)③构造新特征:AvgMonthlyCharge=TotalCharges/(tenure+1e-3),处理tenure=0时的除零风险。(4分)④对Churn做标签编码,0=No,1=Yes,返回编码后Series。(3分)⑤将清洗后数据保存为telco_clean.csv,不含index。(2分)答案:```pythonimportpandasaspddf=pd.read_csv('telco.csv')df.TotalCharges=pd.to_numeric(df.TotalCharges.replace('',pd.NA),errors='coerce')ratio=df[(df.tenure==0)&(df.TotalCharges.isna())].shape[0]/df.shape[0]df['AvgMonthlyCharge']=df.TotalCharges/(df.tenure+1e-3)df['Churn']=df.Churn.map({'No':0,'Yes':1})df.to_csv('telco_clean.csv',index=False)```6.2可视化设计(分析类,15分)沿用telco_clean.csv,完成:①绘制MonthlyCharges与tenure的联合分布图,要求叠加Churn色调,并加回归线。(5分)②绘制AvgMonthlyCharge的分布密度图,按Churn分面,透明度0.5。(5分)③写一段不超过80字的解读,指出哪组客户AvgMonthlyCharge更高。(5分)答案:```pythonimportseabornassns,matplotlib.pyplotaspltsns.jointplot(data=df,x='tenure',y='MonthlyCharges',hue='Churn',kind='reg')g=sns.FacetGrid(df,col='Churn',height=4)g.map(sns.kdeplot,'AvgMonthlyCharge',fill=True,alpha=0.5)plt.show()```解读:Churn=1的客户密度峰位于更高AvgMonthlyCharge区间,表明流失客户平均月账单更高。6.3交互式仪表盘(综合类,15分)使用PlotlyDash构建Web应用:需求:①下拉菜单选择“性别”或“是否老年人”作为分面维度。(5分)②左侧散点图展示MonthlyChargesvstenure,颜色映射Churn。(5分)③右侧放置箱线图展示同一维度下TotalCharges分布。(5分)提交app.py核心代码(不超过60行)。答案:```pythonimportdash,pandasaspd,plotly.expressaspxfromdashimporthtml,dccdf=pd.read_csv('telco_clean.csv')app=dash.Dash(__name__)app.layout=html.Div([dcc.Dropdown(id='dim',options=[{'label':i,'value':i}foriin['gender','SeniorCitizen']],value='gender',clearable=False),dcc.Graph(id='scatter'),dcc.Graph(id='box')])@app.callback([dash.dependencies.Output('scatter','figure'),dash.dependencies.Output('box','figure')],[dash.dependencies.Input('dim','input')])defupdate(d):return(px.scatter(df,x='tenure',y='MonthlyCharges',color='Churn',facet_col=d),px.box(df,x=d,y='TotalCharges',color='Churn'))if__name__=='__main__':app.run_server(debug=True)```6.4时间序列预测(计算+分析类,15分)文件:airline.csv,列date、passengers。任务:①将date转为月度PeriodIndex,按‘M’频率。(3分)②使用statsmodels的STL分解,period=12,输出趋势、季节、残差图。(5分)③以趋势+季节做未来12期预测,计算MAPE。(5分)④写结论:残差是否近似白噪声?(2分)答案:```pythonimportpandasaspd,matplotlib.pyplotaspltfromstatsmodels.tsa.seasonalimportSTLfromstatsmodels.tsa.forecasting.thetaimportThetaModeldf=pd.read_csv('airline.csv',parse_dates=['date'])ts=df.set_index('date')['passengers'].to_period('M')stl=STL(ts,period=12).fit()stl.plot();plt.show()pred=stl.trend+stl.seasonalfuture=pd.period_range(ts.index[-1]+1,periods=12,freq='M')mape=(abs(ts[-12:]pred[-12:])/ts[-12:]).mean()100mape=(abs(ts[-12:]pred[-12:])/ts[-12:]).mean()100print('MAPE:',mape)```结论:残差ACF在滞后1-12阶基本落在95%置信带内,可近似视为白噪声。7.综合案例(30分)背景:某零售企业提供2024-2025两年订单明细order_detail.csv(order_id,product_id,quantity,price,order_date,customer_id,region)。要求:①数据加载与探索:计算各region月度销售额,并找出销售额环比增幅最大的月份与地区。(8分)②可视化:用Altair绘制交互折线,x轴月份,y轴销售额,颜色region,悬停提示环比增幅。(8分)③客户细分:使用RFM模型,以2025-06-30为观察点,计算R(Recency)、F(Frequency)、M(Monetary),并用K-Means聚为4类,输出每类人数及平均M。(8分)④策略建议:基于聚类结果,为平均M最高类写不超过100字的精准营销方案。(6分)答案:①```pythonimportpandasaspd,numpyasnpdf=pd.read_csv('order_detail.csv',parse_dates=['order_date'])df['sales']=df.quantitydf.pricedf['sales']=df.quantitydf.pricemonth_sales=(df.assign(ym=df.order_date.dt.to_period('M')).groupby(['region','ym'])['sales'].sum().reset_index())month_sales['lag']=month_sales.groupby('region')['sales'].shift(1)month_sales['gr']=(month_sales['sales']month_sales['lag'])/month_sales['lag']max_row=month_sales.loc[month_sales['gr'].idxmax()]print(max_row[['region','ym','gr']])```②```python
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年注册营养师考试(专业知识)强化复习试题及答案(辽宁省)
- 2026年一级造价工程师考试(建设工程技术与计量、交通运输工程)题库及答案(甘孜州)
- 2026年国际注册内部审计师(CIA)资格考试(内部审计知识要素)模拟题库北海
- 2026年福建省公共营养师(四级、中级专业能力)考试综合练习题及答案
- 关于2026年售后支持服务优化的协商函7篇
- DB34-T 5457-2026 山洪灾害危险区管理技术导则
- 2024年河南省中考地理试题
- CN114938027B 一种不对称故障工况下电压源型逆变器容错控制方法 (燕山大学)
- CN114936971B 一种面向水域的无人机遥感多光谱图像拼接方法及系统 (浙江理工大学)
- 塑料薄膜阻隔性塑料湿砂磨损试验机湿砂含水率测定作业指导书
- 农村房子盖瓦合同范例
- DB34T5023-2015 蒸压加气混凝土砌块砌体和抹灰工程施工及质量验收规程
- 人教版八年级语文上册《新闻写作》示范公开教学课件
- DL∕T 1848-2018 220kV和110kV变压器中性点过电压保护技术规范
- 市红十字医院档案管理三合一制度样本
- 课堂观察走向专业的听评课崔允漷课件
- 诸暨市城北片控制性详细规划
- 利乐无菌包装原理(NXPowerLite)
- 过程控制系统与仪表
- 电路检查记录表
- 北师大版六年级下册数学课件 利润问题 整理课件
评论
0/150
提交评论