版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2025年python數(shù)據(jù)分析試題及答案一、單項選擇題(每題2分,共20分)1.以下關于Pandas中DataFrame的描述,錯誤的是()A.可通過df.reset_index(drop=True)將索引重置為默認整數(shù)索引并刪除原索引B.df.loc[:,['col1','col2']]表示選取所有行的col1和col2列C.df['col3'].astype('category')會將col3列轉換為數(shù)值類型D.df.groupby('category').agg({'sales':'sum'})可按category分組并計算sales總和答案:C2.某數(shù)據(jù)集中"price"列存在異常值(大于均值3倍標準差),最合理的處理方式是()A.直接刪除所有異常值所在行B.用均值替換異常值C.用中位數(shù)替換異常值D.結合業(yè)務場景判斷異常值合理性后再處理答案:D3.對時間序列數(shù)據(jù)進行滾動窗口計算時,若需計算過去30天的移動平均,且要求窗口包含當前行,應使用()A.df.rolling(window=30,closed='right')B.df.rolling(window=30,closed='left')C.df.rolling(window=30,closed='both')D.df.rolling(window=30,closed='neither')答案:A4.用Seaborn繪制分組箱線圖時,若需按"region"分組展示"profit"的分布,正確的代碼是()A.sns.boxplot(x='profit',y='region',data=df)B.sns.boxplot(x='region',y='profit',data=df)C.sns.boxplot(hue='region',y='profit',data=df)D.sns.boxplot(x='profit',hue='region',data=df)答案:B5.某DataFrame的"date"列格式為"2024-05-1514:30:00",需提取月份信息,正確的操作是()A.df['date'].dt.monthB.df['date'].str.split('-')[1]C.pd.to_datetime(df['date']).dt.monthD.df['date'].apply(lambdax:x[5:7])答案:A(假設"date"列已為datetime類型,若未轉換則選C)6.對包含10萬條記錄的數(shù)據(jù)集進行缺失值處理時,發(fā)現(xiàn)某列"customer_type"缺失率為65%,最優(yōu)處理方式是()A.刪除該列B.用眾數(shù)填充C.用KNN算法預測填充D.構建新特征標記缺失狀態(tài)后刪除該列答案:A7.計算兩個變量的Spearman相關系數(shù)時,適用的場景是()A.兩個變量均為正態(tài)分布的連續(xù)變量B.一個變量為分類變量,另一個為連續(xù)變量C.兩個變量為有序分類變量或非正態(tài)連續(xù)變量D.需衡量線性相關程度答案:C8.以下NumPy操作中,不會改變原數(shù)組的是()A.arr.resize((2,3))B.arr[:,1]=0C.np.concatenate((arr1,arr2))D.arr.astype('float32')答案:C9.用Pandas讀取CSV文件時,若文件中某些行的列數(shù)不一致,正確的處理參數(shù)是()A.error_bad_lines=FalseB.on_bad_lines='skip'C.skiprows=3D.usecols=[0,1,2]答案:B(Pandas2.0+版本使用on_bad_lines參數(shù))10.對用戶行為數(shù)據(jù)進行RFM分析時,"Recency"指標通常指()A.用戶最近一次購買至今的時間B.用戶總購買次數(shù)C.用戶最近一次購買的金額D.用戶平均購買間隔時間答案:A二、編程題(每題15分,共45分)1.現(xiàn)有電商訂單數(shù)據(jù)集order.csv(字段:order_id,user_id,order_date,product_id,category,amount,is_refund),要求:(1)讀取數(shù)據(jù)并將order_date轉換為datetime類型;(2)篩選2024年1月1日至2024年6月30日期間未退款(is_refund=0)的訂單;(3)計算每個用戶(user_id)的總消費金額、訂單數(shù)量及購買過的不同品類數(shù)量(category去重計數(shù))。答案:```pythonimportpandasaspd(1)讀取數(shù)據(jù)并轉換日期格式df=pd.read_csv('order.csv')df['order_date']=pd.to_datetime(df['order_date'])(2)篩選時間范圍和未退款訂單start_date=pd.to_datetime('2024-01-01')end_date=pd.to_datetime('2024-06-30')filtered_df=df[(df['order_date']>=start_date)&(df['order_date']<=end_date)&(df['is_refund']==0)](3)用戶維度聚合計算user_stats=filtered_df.groupby('user_id').agg(total_amount=('amount','sum'),order_count=('order_id','nunique'),category_count=('category','nunique')).reset_index()print(user_stats.head())```2.某新能源汽車銷售數(shù)據(jù)集sales.csv(字段:date,region,model,sales_volume,price),要求:(1)按"region"和"model"分組,計算2024年各季度的平均價格(price)和總銷量(sales_volume);(2)繪制各區(qū)域(region)2024年各季度總銷量的堆積柱狀圖(x軸為季度,y軸為銷量,不同顏色代表不同region)。答案:```pythonimportpandasaspdimportmatplotlib.pyplotasplt數(shù)據(jù)預處理df=pd.read_csv('sales.csv')df['date']=pd.to_datetime(df['date'])df=df[df['date'].dt.year==2024]篩選2024年數(shù)據(jù)df['quarter']='Q'+df['date'].dt.quarter.astype(str)提供季度字段(1)分組聚合grouped=df.groupby(['region','model','quarter']).agg(avg_price=('price','mean'),total_sales=('sales_volume','sum')).reset_index()(2)堆積柱狀圖繪制(按region和季度)先按region和季度匯總總銷量(不考慮model)plot_data=df.groupby(['region','quarter'])['sales_volume'].sum().unstack('region')plt.figure(figsize=(10,6))plot_data.plot(kind='bar',stacked=True,ax=plt.gca())plt.xlabel('Quarter')plt.ylabel('TotalSalesVolume')plt.title('2024QuarterlySalesbyRegion(Stacked)')實際考試中可省略標題plt.legend(title='Region')plt.xticks(rotation=0)plt.show()```3.某社交平臺用戶行為數(shù)據(jù)集user_behavior.csv(字段:user_id,login_time,logout_time,page_views,interactions),其中l(wèi)ogin_time和logout_time為時間戳(單位:秒),要求:(1)計算每個用戶的單次登錄時長(logout_time-login_time,單位:分鐘);(2)處理異常登錄時長(如負數(shù)、超過24小時),將異常值替換為該用戶的平均登錄時長(若用戶無有效時長則刪除);(3)分析登錄時長與頁面瀏覽量(page_views)的相關性,輸出Pearson相關系數(shù)和散點圖。答案:```pythonimportpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltfromscipy.statsimportpearsonr(1)計算登錄時長(分鐘)df=pd.read_csv('user_behavior.csv')df['duration']=(df['logout_time']-df['login_time'])/60秒轉分鐘(2)處理異常值定義異常條件:時長<=0或>2460=1440分鐘df['is_valid']=(df['duration']>0)&(df['duration']<=1440)按用戶分組,計算有效時長的均值user_avg=df[df['is_valid']].groupby('user_id')['duration'].mean().reset_index()user_avg.rename(columns={'duration':'avg_duration'},inplace=True)合并平均時長到原數(shù)據(jù)df=df.merge(user_avg,on='user_id',how='left')替換異常值:無效時長用用戶平均替換,無平均的刪除(avg_duration為NaN)df['duration_clean']=np.where(df['is_valid'],df['duration'],df['avg_duration'])df=df.dropna(subset=['duration_clean'])刪除無有效時長的用戶記錄(3)相關性分析corr,p_value=pearsonr(df['duration_clean'],df['page_views'])print(f"Pearson相關系數(shù):{corr:.4f}")繪制散點圖plt.figure(figsize=(8,5))plt.scatter(df['duration_clean'],df['page_views'],alpha=0.5)plt.xlabel('LoginDuration(minutes)')plt.ylabel('PageViews')plt.show()```三、綜合分析題(35分)某生鮮電商公司提供了2023-2024年用戶訂單數(shù)據(jù)(orders.csv)和用戶信息數(shù)據(jù)(users.csv),字段如下:orders.csv:order_id(訂單ID),user_id(用戶ID),order_time(下單時間),product_id(商品ID),category(商品品類),amount(支付金額),is_repeat(是否復購,1為是)users.csv:user_id(用戶ID),register_time(注冊時間),age(年齡),city(城市),member_level(會員等級,1-5級)要求完成以下分析任務:1.數(shù)據(jù)清洗(10分):-檢查并處理orders表中的缺失值(假設"category"列有5%缺失,"amount"列有2%缺失);-檢查orders表中"order_time"與users表中"register_time"的時間邏輯(用戶下單時間應晚于注冊時間),處理異常記錄。2.用戶分層分析(15分):-計算每個用戶的R(最近一次下單距今天數(shù))、F(總訂單數(shù))、M(總支付金額)指標;-基于RFM模型對用戶進行分層(至少分為4層),并描述各層用戶特征。3.業(yè)務洞察(10分):-結合用戶信息(年齡、城市、會員等級)和RFM分層結果,提出提升高價值用戶留存的策略建議。答案:1.數(shù)據(jù)清洗```pythonimportpandasaspdimportnumpyasnpfromdatetimeimportdatetime讀取數(shù)據(jù)orders=pd.read_csv('orders.csv')users=pd.read_csv('users.csv')處理orders缺失值category列(5%缺失):用該商品ID對應的眾數(shù)品類填充(假設product_id與category強相關)category_mode=orders.groupby('product_id')['category'].transform(lambdax:x.mode()[0]ifnotx.mode().emptyelsenp.nan)orders['category']=orders['category'].fillna(category_mode)amount列(2%缺失):用同品類、同用戶等級的平均金額填充先合并用戶等級信息orders=orders.merge(users[['user_id','member_level']],on='user_id',how='left')計算填充值amount_fill=orders.groupby(['category','member_level'])['amount'].transform('mean')orders['amount']=orders['amount'].fillna(amount_fill)orders.drop(columns=['member_level'],inplace=True)去除臨時合并列時間邏輯檢查orders['order_time']=pd.to_datetime(orders['order_time'])users['register_time']=pd.to_datetime(users['register_time'])merged=orders.merge(users[['user_id','register_time']],on='user_id',how='left')篩選下單時間早于注冊時間的異常記錄abnormal=merged[merged['order_time']<merged['register_time']]處理方式:刪除異常記錄(或聯(lián)系業(yè)務確認是否為時間戳錯誤)orders=orders[~orders['order_id'].isin(abnormal['order_id'])]```2.用戶RFM分層分析```python計算RFM指標(假設分析時間為2024-12-31)analysis_date=pd.to_datetime('2024-12-31')R:最近一次下單距今天數(shù)rfm=orders.groupby('user_id').agg(R=('order_time',lambdax:(analysis_date-x.max()).days),F=('order_id','nunique'),M=('amount','sum')).reset_index()計算各指標分位數(shù)(4分位)forcolin['R','F','M']:rfm[f'{col}_score']=pd.qcut(rfm[col],q=4,labels=[1,2,3,4],duplicates='drop')分層規(guī)則(示例):高價值用戶:R_score>=3&F_score>=3&M_score>=3潛力用戶:R_score>=3&(F_score>=2|M_score>=2)新用戶:R_score>=3&F_score=1流失用戶:R_score<=2rfm['user_segment']=np.select([(rfm['R_score']>=3)&(rfm['F_score']>=3)&(rfm['M_score']>=3),(rfm[
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物標志物與藥物不良反應預測模型
- 生物墨水的生物安全性評價方法
- 生活質量評估在再程放療方案選擇中的作用
- 電子商務專家認證考試內容解析
- 產(chǎn)品經(jīng)理面試題及產(chǎn)品思維訓練
- 深度解析(2026)《GBT 19496-2004鉆芯檢測離心高強混凝土抗壓強度試驗方法》
- 保潔綠化領班工作創(chuàng)新與問題解決方法含答案
- 電子工程師技術支持崗位的常見問題與答案
- 信息錄入員崗位面試題及答案
- 環(huán)境噪聲污染的統(tǒng)計心血管效應與結果防護策略
- 2025年廣西繼續(xù)教育公需科目考試試題和答案
- 俄烏之戰(zhàn)課件
- 2026年鐵嶺衛(wèi)生職業(yè)學院單招職業(yè)傾向性考試題庫及參考答案詳解一套
- 2025年廚房燃氣報警器安裝合同
- 環(huán)孢素的臨床應用
- 國開電大《11837行政法與行政訴訟法》期末答題庫(機考字紙考)排序版 - 稻殼閱讀器2025年12月13日12時58分54秒
- 2025河北廊坊市工會社會工作公開招聘崗位服務人員19名考試筆試備考試題及答案解析
- 2025國家電投集團中國重燃招聘18人筆試歷年參考題庫附帶答案詳解
- 框架日常維修協(xié)議書
- 智研咨詢發(fā)布-2025年中國電子變壓器件行業(yè)市場運行態(tài)勢及發(fā)展趨勢預測報告
- 創(chuàng)傷后成長(PTG)視角下敘事護理技術的臨床應用
評論
0/150
提交評論