Python商務數(shù)據(jù)分析微課版高廣尚課后參考答案_第1頁
Python商務數(shù)據(jù)分析微課版高廣尚課后參考答案_第2頁
Python商務數(shù)據(jù)分析微課版高廣尚課后參考答案_第3頁
Python商務數(shù)據(jù)分析微課版高廣尚課后參考答案_第4頁
Python商務數(shù)據(jù)分析微課版高廣尚課后參考答案_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

初識Python本章習題一、選擇題1.(單選)在以下哪個領域中,Python的應用較少?(D)A.Web開發(fā)B.數(shù)據(jù)分析和科學計算C.人工智能和深度學習D.電子游戲開發(fā)2.(單選)Python的哪個特點使得它易于學習和上手?(B)A.高執(zhí)行效率B.開放源代碼C.編碼加密功能D.復雜的語法規(guī)則3.(單選)下列哪一項不是Python編程語言的關鍵特點?(C)A.簡單語法B.動態(tài)類型C.執(zhí)行速度快D.成熟生態(tài)系統(tǒng)4.(單選)“pipinstall”命令在Python中用于做什么?(A)A.安裝第三方庫B.運行Python腳本C.打印Python版本D.打開IPythonshell5.(單選)Python源代碼文件的典型文件擴展名是什么?(A)A..pyB..pycC..cppD..exe二、判斷題1.Python是一種解釋型腳本語言,可以在Windows、MacOSX和Linux等操作系統(tǒng)中運行。(正確)2.Python解釋器通常被稱為CPython,是用Java語言實現(xiàn)的。(錯誤)3.Python擁有貧弱的生態(tài)系統(tǒng)和有限的庫。(錯誤)4.Python是一種解釋型腳本語言,代碼需要先編譯成機器碼才能運行。(錯誤)5.Python是一種動態(tài)類型語言,變量可以重新綁定不同類型的值。(正確)實訓Python編程的基礎知識,包括Python簡介、開發(fā)環(huán)境、安裝和編寫簡單程序等。一、實訓目的通過這個實訓,讀者將掌握在Windows系統(tǒng)下安裝Python解釋器、編寫和運行Python程序的基本步驟。二、實訓步驟步驟1:準備工作下載并安裝Python3.11.2解釋器,推薦64位版本。下載并安裝VisualStudioCode等文本編輯工具。步驟2:編寫Python程序使用VisualStudioCode等文本編輯工具創(chuàng)建一個名為“hello.py”的文件,并輸入以下代碼。Python#這是一個簡單的Python程序#定義一個變量name="小明"#打印變量的值print("Hello,"+name+"!")步驟3:運行Python程序打開命令提示符,并切換到“hello.py”文件所在的目錄。輸入以下命令運行程序pythonhello.py。pythonhello.py通過該實訓,讀者快速入門Python編程,并掌握Python的基礎知識和開發(fā)環(huán)境配置。Python開發(fā)工具本章習題一、選擇題1.(單選)VSCode是由以下哪家公司開發(fā)的跨平臺代碼編輯器,支持多種語言,包括Python?()A.AppleB.GoogleC.MicrosoftD.Adobe2.(單選)以下哪個選項不是VSCode的主要特點?()A.開放源代碼B.內(nèi)置調(diào)試器C.僅支持JavaScript語言D.支持多種編程語言3.(單選)通過安裝Python插件,可以在VSCode中進行以下哪項操作?()A.閱讀PDF文件B.編寫和運行Python代碼C.3D建模D.視頻編輯4.(多選)以下哪些是VisualStudioCode(VSCode)的主要特點?(ABD)A.開放源代碼B.支持多種編程語言,包括PythonC.具有內(nèi)置的圖像編輯功能D.提供強大的編輯功能,如自動完成和代碼片段5.(多選)以下關于JupyterNotebook的描述中,哪些是正確的?(BD)A.JupyterNotebook支持多種編程語言,但不包括PythonB.在JupyterNotebook中,代碼和markdown內(nèi)容可以在同一個文件中交替編寫C.JupyterNotebook不允許添加新的代碼cell或markdowncellD.JupyterNotebook中可以在每個cell中運行代碼并查看結果二、簡答題什么是Python中的解釋型語言?簡要說明解釋型語言與編譯型語言的區(qū)別,并舉例說明Python為何被稱為解釋型語言。答案:解釋型語言是一種在運行時逐行解釋并執(zhí)行程序代碼的語言。與之相對,編譯型語言在運行之前需要將整個程序代碼編譯成機器碼或中間代碼,然后由計算機直接執(zhí)行。區(qū)別:解釋型語言:在運行時逐行解釋執(zhí)行代碼,不需要獨立的編譯過程。適合開發(fā)迅速,但通常比編譯型語言執(zhí)行速度較慢。編譯型語言:在運行之前將代碼完全編譯成機器碼或中間代碼,執(zhí)行速度較快。但開發(fā)周期可能較長,需要經(jīng)過編譯過程。Python被稱為解釋型語言,因為它的代碼不需要事先編譯,而是通過Python解釋器逐行執(zhí)行。Python解釋器會在運行時將代碼翻譯成機器碼,然后執(zhí)行。這種方式使得開發(fā)者可以更快速地進行開發(fā)和測試,但也導致相對較低的執(zhí)行效率。Python的動態(tài)類型和強大的反射機制也是解釋型語言的特點之一,使得代碼更靈活。實訓打開VSCode編輯器,配置常用的編輯器設置,如字體大小、制表符寬度、自動換行、顯示行號等。(1)實訓目的通過這個實訓,學生將學會使用VSCode編輯器的基本設置功能,使編輯器適合他們的工作風格和需求。他們將了解如何自定義字體大小、制表符寬度、自動換行和行號等常用的編輯器設置。(2)實訓步驟步驟1:下載并安裝VSCode編輯器首先,確保學生已經(jīng)下載并安裝了VSCode編輯器。他們可以從官方網(wǎng)站/下載適用于自己操作系統(tǒng)的版本。步驟2:打開VSCode編輯器打開已安裝的VSCode編輯器。步驟3:配置編輯器設置點擊左上角的"文件(File)"菜單,然后選擇“首選項(Preferences)”,再選擇"設置(Settings)",這將打開設置面板。在此面板中,可以配置各種編輯器設置。{//設置字體大小"editor.fontSize":14,//設置制表符寬度為4個空格"editor.tabSize":4,//自動換行"editor.wordWrap":"on",//顯示行號"editor.lineNumbers":"on"}在設置面板中,你可以搜索特定的設置項,然后根據(jù)需要進行自定義。步驟4:配置其他常用設置在編輯器設置中,還可以根據(jù)個人偏好配置其他設置,如主題顏色、代碼折疊、拼寫檢查等。步驟5:創(chuàng)建一個Python文件,并編寫簡單的代碼在VSCode中,點擊左上角的“文件(File)”菜單,選擇“新建文件(NewFile)”,然后保存為“.py”后綴的文件,如“example.py”。在新創(chuàng)建的Python文件中,編寫一段簡單的代碼,例如:print("Hello,VSCode!")步驟6:運行Python代碼并查看輸出結果在Python文件中,右鍵單擊并選擇“運行Python文件(RunPythonFileinTerminal)”,可以在終端中看到代碼的輸出結果。通過這個實訓,學生將熟悉如何配置VSCode編輯器的基本設置,以適應自己的工作風格。他們還可以通過編寫和運行簡單的Python代碼,加深對編輯器的使用。Python編程基礎本章習題一、選擇題1.(單選)以下Python代碼的輸出結果是什么?(B)a=10b=20print(a+b)A.1020B.30C.a+bD.以上都不是2.(單選)下列哪一項不是Python的核心數(shù)據(jù)結構?(C)A.列表B.字典C.數(shù)組D.元組3.(單選)在Python中如何定義一個函數(shù)?(A)A.def函數(shù)():B.函數(shù){}C.函數(shù)()D.define函數(shù)():4.(多選)Python變量可以保存哪些數(shù)據(jù)類型?(ABCD)A.整數(shù)B.字符串C.浮點數(shù)D.布爾值5.(多選)下列哪些是Python中的循環(huán)語句?(BC)A)ifB.forC.whileD.switch1.Python是一種靜態(tài)類型語言。(錯誤)2.and、or、not是Python中的邏輯運算符。(正確)3.Python函數(shù)可以返回多個值。(正確)4.Python有switch-case語句。(錯誤)5.導入模塊可以使用其中的函數(shù)。(正確)二、判斷題1.Python是一種靜態(tài)類型語言。(錯誤)2.and、or、not是Python中的邏輯運算符。(正確)3.Python函數(shù)可以返回多個值。(正確)4.Python有switch-case語句。(錯誤)5.導入模塊可以使用其中的函數(shù)。(正確)習題1:請編寫一個Python程序,實現(xiàn)以下功能:輸入一個商品的價格和數(shù)量,計算出總價,并輸出“總價為xxx元”。答案:price=float(input("請輸入商品價格:"))quantity=int(input("請輸入商品數(shù)量:"))total=price*quantityprint("總價為%.2f元"%total)運行結果:請輸入商品價格:12.5請輸入商品數(shù)量:3總價為37.50元習題2:請編寫一個Python程序,實現(xiàn)以下功能:輸入一個員工的基本工資和績效評分,計算出實際工資,并輸出“實際工資為xxx元”。答案:salary=float(input("請輸入基本工資:"))rating=float(input("請輸入績效評分:"))bonus=salary*ratingtotal=salary+bonusprint("實際工資為%.2f元"%total)運行結果:請輸入基本工資:5000請輸入績效評分:1.2實際工資為6000.00元習題3:請編寫一個Python程序,實現(xiàn)以下功能:輸入一個訂單的總金額和折扣率,計算出折扣后的金額,并輸出“折扣后的金額為xxx元”。答案:total=float(input("請輸入訂單總金額:"))discount=float(input("請輸入折扣率:"))amount=total*discountprint("折扣后的金額為%.2f元"%amount)運行結果:請輸入訂單總金額:1000請輸入折扣率:0.8折扣后的金額為800.00元實訓輸入一個員工的基本工資和績效評分,計算出實際工資,并輸出“實際工資為xxx元”。(1)實訓目的通過這個實訓,學生將學會如何編寫一個Python程序,用于根據(jù)員工的基本工資和績效評分計算實際工資。他們將學習輸入數(shù)據(jù)、條件判斷和簡單計算的基本編程概念。(2)實訓步驟步驟1:獲取員工基本工資和績效評分使用input函數(shù)獲取用戶輸入的員工基本工資和績效評分。 basic_salary=float(input("請輸入員工的基本工資:"))performance_score=float(input("請輸入員工的績效評分:"))步驟2:計算實際工資根據(jù)輸入的績效評分,計算實際工資。假設績效評分在0到1之間,實際工資為基本工資乘以績效評分。actual_salary=basic_salary*performance_score步驟3:輸出結果使用print函數(shù)輸出計算得到的實際工資。print(f"實際工資為{actual_salary}元")步驟4:運行程序將以上步驟的代碼整合在一起,運行程序。在終端中輸入員工的基本工資和績效評分,程序將計算實際工資并輸出結果。通過這個實訓,學生將學會如何編寫一個簡單的Python程序,進行輸入、條件判斷和計算操作。這將幫助他們理解基本的編程概念和程序邏輯。NumPy數(shù)據(jù)分析本章習題(一)單選題在NumPy中,如何創(chuàng)建一個全為0的數(shù)組?A.np.zeros((3,3))B.np.ones((3,3))C.np.empty((3,3))D.np.eye(3)答案:A在NumPy中,如何計算兩個數(shù)組的點積?A.np.dot(a,b)B.a*bC.np.cross(a,b)D.np.add(a,b)答案:A在NumPy中,如何獲取數(shù)組的形狀?A.a.shapeB.a.ndimC.a.sizeD.a.dtype答案:A在NumPy中,如何獲取數(shù)組中的最大值和最小值?A.np.max(a)和np.min(a)B.a.max()和a.min()C.np.maximum(a)和np.minimum(a)D.a.maximum()和a.minimum()答案:B在NumPy中,如何將兩個數(shù)組按照列方向進行拼接?A.np.concatenate((a,b),axis=0)B.np.concatenate((a,b),axis=1)C.np.vstack((a,b))D.np.hstack((a,b))答案:D(二)多選題在NumPy中,以下哪些函數(shù)可以用于創(chuàng)建隨機數(shù)組?A.np.random.rand()B.np.random.randn()C.np.random.randint()D.np.random.choice()答案:A、B、C、D在NumPy中,以下哪些函數(shù)可以用于對數(shù)組進行排序?A.np.sort()B.np.argsort()C.np.partition()D.np.searchsorted()答案:A、B、C二、判斷題1.NumPy中的ndarray對象代表多維數(shù)組。(正確)2.在NumPy數(shù)組中,負索引表示從末尾開始計數(shù)。(正確)3.NumPy中的broadcasting允許不同形狀的數(shù)組進行運算。(正確)4.NumPy只支持數(shù)值類型,不支持字符串類型。(錯誤)5.axis參數(shù)用于指定數(shù)組運算的方向。(正確)實訓 統(tǒng)計不同區(qū)域本月的銷售額,求出各區(qū)域的銷售總額。一、實訓目的通過這個實訓,讀者將熟練使用Numpy統(tǒng)計和分析業(yè)務數(shù)據(jù),掌握數(shù)組操作的方法。二、實訓步驟步驟1:導入Numpy模塊首先導入NumPy模塊。importnumpyasnp步驟2:創(chuàng)建銷售額數(shù)組定義一個形狀為(3,4)的二維數(shù)組,表示3個區(qū)域4個城市的銷售額。sales=np.array([[1500,2000,1600,2200],[3000,3500,3200,3400],[0,0,0,0]])步驟3:求區(qū)域銷售總額將每個區(qū)域的4個城市銷售額相加,賦值給對應的第3行元素。sales[2,:]=sales[0,:]+sales[1,:]步驟4:輸出結果打印第3行元素,查看每個區(qū)域的銷售總額。print(sales[2,:])通過該實訓,讀者可以掌握使用Numpy進行商務數(shù)據(jù)統(tǒng)計的方法。Pandas數(shù)據(jù)分析本章習題一、選擇題1.(單選)Pandas的主要作用是什么?(B)A.圖像處理B.數(shù)據(jù)分析C.網(wǎng)絡編程D.前端開發(fā)2.(單選)Pandas中的兩個主要數(shù)據(jù)結構分別是什么?(D)A.Array和FrameB.Series和ArrayC.DataFrame和MatrixD.Series和DataFrame3.(單選)在Pandas中,哪個函數(shù)用于讀取CSV文件?(A)A.read_csv()B.load_csv()C.import_csv()D.open_csv()4.(多選)Pandas中的Series對象代表的是?(AD)A.一維數(shù)組B.二維數(shù)組C.表格D.列表5.(多選)下列哪些是Pandas中的數(shù)據(jù)清洗方法?(ABC)A.去重B.填充缺失值C.類型轉換D.分組二、判斷題1.Pandas只能處理結構化數(shù)據(jù),不能處理非結構化數(shù)據(jù)。(錯誤)2.使用Pandas,可以通過.groupby()方法進行數(shù)據(jù)分組,然后通過聚合函數(shù)對分組后的數(shù)據(jù)進行匯總統(tǒng)計。(正確)3.Pandas的主要功能是進行圖像處理和計算機視覺任務。(錯誤)。4.Series對象中的值必須為數(shù)字類型。(錯誤)5.Pandas沒有時間序列處理功能。(錯誤)三、填空題1.Pandas提供了快速、靈活、強大的數(shù)據(jù)結構和豐富的函數(shù)和方法,能夠簡單、直觀地處理各種復雜的數(shù)據(jù),是Python數(shù)據(jù)分析的必備___高級工具_____工具。2.Pandas中的兩個常用的數(shù)據(jù)結構是___Series_____和___DataFrame_____。3.使用Pandas讀取CSV文件的函數(shù)是____read_csv()____。4.在Pandas中,通過調(diào)用df.head()方法,可以查看DataFrame的前幾行數(shù)據(jù),默認是前____5____行。5.在Pandas中,使用.groupby()方法進行數(shù)據(jù)分組后,可以使用聚合函數(shù)如__sum______、____mean____等對分組后的數(shù)據(jù)進行統(tǒng)計計算。四、計算題1.假設有以下PandasDataFrame,名為sales_data,表示某公司的銷售數(shù)據(jù):MonthSales0110012150231203418045200請計算并輸出銷售額的平均值。答案:平均銷售額=(100+150+120+180+200)/5=1502.假設有以下兩個PandasDataFrame,df1和df2:df1:IDScore018512902375df2:IDAge012512302428請合并這兩個DataFrame,以ID列為鍵,輸出合并后的結果。答案:合并后的結果為:IDScoreAge0185251290302375NaN34NaN28實訓統(tǒng)計不同季度各產(chǎn)品的銷售額,匯總生成銷售透視表。一、實訓目的通過這個實訓,讀者將熟練使用Pandas進行商務數(shù)據(jù)分析,掌握分組聚合等高級技巧。準備銷售明細數(shù)據(jù)sales.csv,數(shù)據(jù)內(nèi)容如下:季度產(chǎn)品銷售額01季度手機250011季度電腦300022季度手機200032季度電腦350043季度手機300053季度電腦4000二、實訓步驟步驟1:導入Pandas庫首先,確保讀者已經(jīng)導入了Pandas庫。步驟2:讀取銷售明細表使用Pandas的read_csv函數(shù)讀取CSV文件中的數(shù)據(jù)。df=pd.read_csv("sales.csv")步驟3:分組聚合使用groupby()按季度和產(chǎn)品分組,求銷售額sum()。df_grouped=df.groupby(['季度','產(chǎn)品'])['銷售額'].sum()步驟4:生成透視表使用pivot_table()生成季度產(chǎn)品銷售透視表。table=df_grouped.unstack(level=0)步驟5:打印結果打印透視表,展示每個季度不同產(chǎn)品的銷售規(guī)模。產(chǎn)品手機電腦季度1季度250030002季度200035003季度30004000通過這個實訓,讀者將學會如何使用Pandas庫進行高級數(shù)據(jù)操作,包括數(shù)據(jù)分組聚合、透視表等。這將幫助他們更深入地從數(shù)據(jù)中獲取有價值的信息。Matplotlib數(shù)據(jù)繪圖本章習題一、選擇題1.(單選)Matplotlib通常與哪些庫一起使用,是數(shù)據(jù)科學和機器學習工作者必不可少的工具?(C)A.Scikit-learnB.TensorFlowC.NumPyD.PyTorch2.(單選)Matplotlib中的對象可以分為哪兩類?(A)A.容器類和基礎類B.圖表類和坐標類C.數(shù)據(jù)類和屬性類D.函數(shù)類和對象類3.(單選)下列哪個方法用于創(chuàng)建一個新的圖或畫布?(C)A.plt.create()B.plt.new_figure()C.plt.figure()D.plt.plot()4.(多選)Matplotlib可以繪制哪些類型的圖表?(ABD)A.折線圖B.散點圖C.雷達圖D.箱線圖5.(多選)調(diào)整Matplotlib圖形中文字體的方法有哪些?(AC)A.設置全局字體B.保存為svg格式C.使用中文字體D.設置軸標題字體一、判斷題1.Matplotlib是一個用于3D圖形繪制的Python庫。(錯誤)2.在Matplotlib中,基于面向對象的繪圖方式可以使用pyplot模塊中的函數(shù)進行繪圖。(正確)3.使用subplot()函數(shù)時,可以通過傳遞三個整數(shù)來設置子圖的行數(shù)、列數(shù)和當前位置。(正確)4.子圖間共享x軸和y軸。(正確)5.餅圖主要用于展示時間序列數(shù)據(jù)。(錯誤)三、繪制圖形題1.請繪制一個簡單的折線圖,橫軸表示時間,縱軸表示溫度。假設有以下數(shù)據(jù)點:時間:[0,1,2,3,4,5]溫度:[20,22,25,23,21,18]答案:導入Matplotlib庫。創(chuàng)建一個新的圖形對象。使用plt.plot()函數(shù)繪制折線圖,傳入時間和溫度數(shù)據(jù)。設置橫軸標簽、縱軸標簽和圖標題。使用plt.show()顯示繪制的圖形。繪制代碼示例:importmatplotlib.pyplotasplttime=[0,1,2,3,4,5]temperature=[20,22,25,23,21,18]plt.plot(time,temperature,marker='o')plt.xlabel('時間')plt.ylabel('溫度')plt.title('溫度變化折線圖')plt.show()2.使用Matplotlib繪制一個分組柱狀圖,展示兩組數(shù)據(jù)在不同季節(jié)的銷售情況。假設有以下數(shù)據(jù):季節(jié):['春季','夏季','秋季','冬季']銷售A組:[100,150,130,110]銷售B組:[120,140,125,105答案:導入Matplotlib庫。創(chuàng)建一個新的圖形對象。使用plt.bar()函數(shù)分別繪制銷售A組和銷售B組的柱狀圖。設置橫軸標簽、縱軸標簽和圖標題。使用plt.legend()設置圖例。使用plt.show()顯示繪制的圖形。importmatplotlib.pyplotaspltimportnumpyasnpseasons=['春季','夏季','秋季','冬季']sales_A=[100,150,130,110]sales_B=[120,140,125,105]x=np.arange(len(seasons))width=0.4fig,ax=plt.subplots()ax.bar(x-width/2,sales_A,width,label='銷售A組')ax.bar(x+width/2,sales_B,width,label='銷售B組')ax.set_xlabel('季節(jié)')ax.set_ylabel('銷售額')ax.set_title('銷售A組和銷售B組季節(jié)銷售情況')ax.set_xticks(x)ax.set_xticklabels(seasons)ax.legend()plt.show()實訓使用Matplotlib可視化某公司不同區(qū)域的銷售和利潤情況。一、實訓目的通過這個實訓,讀者將學習使用Matplotlib可視化分析商業(yè)數(shù)據(jù),如不同區(qū)域的銷售業(yè)績數(shù)據(jù)??梢暬梢愿庇^地展示數(shù)據(jù)趨勢和模式,有助于商業(yè)決策。二、實訓步驟步驟1:導入Matplotlib庫導入庫,為繪制圖表做準備。步驟2:準備業(yè)務數(shù)據(jù)整理不同區(qū)域的銷售業(yè)績數(shù)據(jù),作為圖表的數(shù)據(jù)源。步驟3:繪制極坐標圖使用極坐標圖比較各區(qū)域的銷售總額大小。步驟4:繪制三維散點圖使用三維散點圖顯示不同季度各區(qū)域銷售變化趨勢。步驟5:繪制等高線圖使用等高線圖展示區(qū)域銷售變化的趨勢和模式。通過學習繪制不同類型的圖表,讀者可以掌握使用Matplotlib進行商業(yè)數(shù)據(jù)可視化分析的技能,為商業(yè)決策提供數(shù)據(jù)支持。具體的代碼實現(xiàn):#步驟1:導入Matplotlibimportmatplotlib.pyplotasplt#步驟2:準備區(qū)域銷售數(shù)據(jù)regions=['東部','西部','北部','南部']sales=[50000,60000,80000,70000]#步驟3:繪制極坐標圖plt.polar(regions,sales)plt.show()#步驟4:準備三維銷售數(shù)據(jù)quarters=[1,2,3,4]regions=['東部','西部','北部','南部']sales=[[50000,40000,60000,55000],[50000,50000,70000,65000],[70000,75000,80000,90000],[60000,70000,75000,80000]]#繪制三維散點圖fig=plt.figure()ax=plt.axes(projection='3d')ax.scatter3D(quarters,regions,sales)plt.show()#步驟5:繪制等高線圖x=[1,2,3,4]y=[50000,60000,80000,70000]plt.contourf(x,y)plt.show()Seaborn數(shù)據(jù)繪圖本章習題一、選擇題1.(單選)Seaborn是基于哪個Python數(shù)據(jù)可視化庫的?(B)A.NumpyB.MatplotlibC.PandasD.Scipy2.(單選)在Seaborn中,哪個函數(shù)用于繪制直方圖和擬合密度曲線?(C)A.sns.barplot()B.sns.scatterplot()C.sns.distplot()D.sns.heatmap()3.(單選)在Seaborn中,哪個函數(shù)用于繪制兩個變量之間的散點圖,并可以使用顏色和標記來表示分組變量?(B)A.sns.barplot()B.sns.scatterplot()C.sns.regplot()D.sns.heatmap()4.(多選)Seaborn可以繪制哪些類型的統(tǒng)計圖表?(ACD)A.散點圖B.樹圖C.箱線圖D.熱力圖5.(多選)調(diào)整Seaborn圖形中文字體的方法有哪些?(AD)A.設置樣式主題B.保存為svg格式C.使用中文字體D.設置坐標軸標簽字體二、判斷題1.Seaborn是一個建立在Matplotlib之上的數(shù)據(jù)可視化庫。(正確)2.在Seaborn繪圖流程中,設置畫布參數(shù)是在導入繪圖模塊之后進行的。(錯誤)3.直方圖可以用來展示兩個連續(xù)型變量之間的關系。(錯誤)4.seaborn無需導入matplotlib即可使用。(錯誤)5.pairplot()可用于繪制散點圖矩陣。(正確)三、繪制圖形題1.使用直方圖展示評分分布情況。首先,導入必要的庫:importmatplotlib.pyplotasplt和importseabornassns.讀取數(shù)據(jù):df=pd.read_csv('data/cook.csv').設置畫布:plt.figure(figsize=(6.4,4.8)).使用sns.distplot()繪制直方圖,并添加參數(shù)設置:sns.distplot(df['評分'],bins=20,color='blue',kde=True,hist_kws={'color':'g','label':'直方圖'},kde_kws={'color':'b','label':'密度曲線'}).設置標題和標簽:plt.title('評分分布直方圖'),plt.xlabel('評分'),plt.ylabel('頻數(shù)').添加圖例:plt.legend().展示圖形:plt.show().2.使用散點圖展示用料數(shù)與評分關系。使用散點圖來展示兩個連續(xù)型變量之間的關系。導入所需庫和數(shù)據(jù)。使用sns.scatterplot()繪制散點圖,設置橫軸為"用料數(shù)",縱軸為"評分",同時使用"難度"列來著色不同難度的點:sns.scatterplot(x='用料數(shù)',y='評分',hue='難度',data=df,palette='Set1').添加標題和標簽:plt.title('用料數(shù)與評分關系'),plt.xlabel('用料數(shù)'),plt.ylabel('評分').添加圖例:plt.legend().展示圖形:plt.show().3.使用熱力圖展示不同菜系、難度與平均評分的關系。首先,對數(shù)據(jù)進行透視,以便得到一個適合繪制熱力圖的數(shù)據(jù)格式。使用pd.pivot_table()函數(shù)創(chuàng)建一個透視表,索引為"菜系",列為"難度",值為"評分"的平均值:heatmap_data=df.pivot_table(index='菜系',columns='難度',values='評分',aggfunc='mean').繪制熱力圖:sns.heatmap(heatmap_data,cmap='YlGnBu',annot=True,fmt=".2f").添加標題:plt.title('菜系與難度的平均評分').展示圖形:plt.show().4.使用小提琴圖展示不同菜系的評分分布。導入所需庫和數(shù)據(jù)。使用sns.violinplot()繪制小提琴圖,設置橫軸為"菜系",縱軸為"評分",并選擇一個顏色漸變的調(diào)色板:sns.violinplot(x='菜系',y='評分',data=df,palette='viridis').添加標題和標簽:plt.title('不同菜系的評分分布'),plt.xlabel('菜系'),plt.ylabel('評分').展示圖形:plt.show().實訓使用Seaborn可視化分析產(chǎn)品銷售數(shù)據(jù)。一、實訓目的通過這個實訓,讀者將學習使用Seaborn對公司業(yè)務數(shù)據(jù)進行可視化分析,如產(chǎn)品銷售數(shù)據(jù)的可視化。這可以幫助直觀地發(fā)現(xiàn)數(shù)據(jù)之間的關系和規(guī)律,為商業(yè)決策提供支持。二、實訓步驟步驟1:導入Seaborn庫導入Seaborn庫,為可視化分析做準備。步驟2:加載銷售數(shù)據(jù)讀取包含產(chǎn)品和不同區(qū)域銷售數(shù)據(jù)的csv數(shù)據(jù)。步驟3:繪制銷售熱力圖使用heatmap()可視化產(chǎn)品與區(qū)域之間的銷售關系。步驟4:繪制銷售分布圖使用distplot()查看各產(chǎn)品銷售額的分布情況。步驟5:繪制產(chǎn)品銷售關系圖使用pairplot()展示不同產(chǎn)品之間的銷售相關性。通過學習使用Seaborn的可視化功能分析商業(yè)數(shù)據(jù),讀者可以掌握數(shù)據(jù)可視化的技巧,從大量數(shù)據(jù)中獲取有價值的信息,為商業(yè)決策提供數(shù)據(jù)支持。產(chǎn)品銷售數(shù)據(jù):#產(chǎn)品信息products=['手機','電腦','汽車']#區(qū)域信息regions=['東部','西部','南部','北部']#銷售數(shù)量sales_data=[[2500,3000,5000,8000],[1500,2000,3000,4000],[8000,9000,15000,20000]]#將數(shù)據(jù)裝換為DataFramedata=pd.DataFrame(sales_data,index=products,columns=regions)代碼實現(xiàn):#導入Seaborn庫importseabornassns#讀取銷售數(shù)據(jù)data=pd.read_csv('product_sales.csv')#繪制熱力圖sns.heatmap(data=data,annot=True)plt.title("產(chǎn)品銷售熱力圖")plt.savefig('product_sales_heatmap.png')#繪制銷售分布圖sns.distplot(data['銷售量'])plt.title("產(chǎn)品銷售量分布圖")#繪制產(chǎn)品銷售關系圖sns.pairplot(data)plt.title("產(chǎn)品銷售量關系圖")以上代碼示例了使用Seaborn庫對產(chǎn)品銷售數(shù)據(jù)進行可視化分析的過程,包括繪制熱力圖、分布圖和關系圖。通過可視化可以清晰地展示產(chǎn)品與區(qū)域之間的銷售關系,不同產(chǎn)品之間的銷售相關性等信息,為商業(yè)決策提供數(shù)據(jù)支持??Х蠕N售情況分析本章習題一、簡答題1.為什么需要數(shù)據(jù)清洗?數(shù)據(jù)清洗是數(shù)據(jù)分析的重要步驟之一,它的目的是去除數(shù)據(jù)中的噪聲、錯誤和不完整的部分,以保證數(shù)據(jù)的質(zhì)量和可靠性。清洗數(shù)據(jù)可以消除潛在的錯誤影響,確保分析的準確性,提高后續(xù)決策的可靠性。 2.什么是數(shù)據(jù)可視化?數(shù)據(jù)可視化是將數(shù)據(jù)通過圖表、圖像等形式轉化為可理解的視覺形態(tài)的過程。它幫助人們更容易理解和分析數(shù)據(jù),揭示數(shù)據(jù)之間的關系、模式和趨勢,從而支持更深入的洞察和決策。二、計算題1.計算缺失值百分比。答案:importpandasaspd#讀取數(shù)據(jù)data=pd.read_excel("data/某咖啡公司銷售數(shù)據(jù).xlsx")#計算每列的缺失值百分比missing_percent=(data.isnull().sum()/len(data))*100#輸出結果print(missing_percent)2.計算平均利潤率。答案:average_profit_rate=data['利潤率'].str.rstrip('%').astype(float).mean()print("平均利潤率:",average_profit_rate)實訓當使用Python來實現(xiàn)商業(yè)上的數(shù)據(jù)分析例子時,我們可以以客戶細分為例。以下是一個可能的實訓內(nèi)容,包括實訓目的和實訓步驟。 實訓目的:實訓的目的是通過使用Python進行客戶細分分析,將客戶分成不同的群組,以便更好地定制營銷策略和服務。學習者將學會數(shù)據(jù)預處理、特征選擇、聚類分析等關鍵技術。實訓步驟:1.數(shù)據(jù)收集和理解:收集客戶相關的數(shù)據(jù),如消費金額、購買頻率、地理位置等信息,理解數(shù)據(jù)的結構和含義。2.數(shù)據(jù)預處理:進行數(shù)據(jù)預處理,處理缺失值、異常值,進行特征縮放等。將數(shù)據(jù)轉換成適合分析的格式。 #示例:數(shù)據(jù)預處理importpandasaspd#讀取數(shù)據(jù)data=pd.read_csv("customer_data.csv")#處理缺失值data=data.dropna()#特征選擇features=data[["Total_Spending","Purchase_Frequency","Location"]]#特征縮放fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler()features_scaled=scaler.fit_transform(features) 3.數(shù)據(jù)分析:使用聚類算法將客戶分成不同的群組,如K均值聚類、層次聚類等。#示例:數(shù)據(jù)分析fromsklearn.clusterimportKMeansnum_clusters=3kmeans=KMeans(n_clusters=num_clusters)clusters=kmeans.fit_predict(features_scaled)data["Cluster"]=clusters 4.結果可視化:繪制不同客戶群組的特征分布圖,以便觀察不同群組的特點。#示例:結果可視化importmatplotlib.pyplotaspltimportseabornassnsplt.figure(figsize=(10,6))sns.scatterplot(x="Total_Spending",y="Purchase_Frequency",hue="Cluster",data=data)plt.xlabel("TotalSpending")plt.ylabel("PurchaseFrequency")plt.title("CustomerSegmentation")plt.show() 5.分析結果應用:根據(jù)分析結果,定制不同的營銷策略和服務,以滿足不同客戶群組的需求。通過這個實訓,學習者將學會如何使用Python進行客戶細分分析,從數(shù)據(jù)預處理、特征選擇到聚類分析的全過程。這將幫助他們在商業(yè)實際中應用數(shù)據(jù)分析技術來優(yōu)化營銷和服務策略。員工離職預測本章習題一、簡答題1.什么是員工離職預測?員工離職預測是一種通過分析員工的績效和薪酬等指標,預測員工可能離職的風險,并采取相應措施來留住員工的方法。2.Scikit-Learn中的估計器是什么?估計器是Scikit-Learn中的對象,用于實現(xiàn)算法并對數(shù)據(jù)進行擬合和預測。它包括常用的算法,如線性回歸、邏輯回歸、支持向量機等。二、計算題1.假設你有一個包含5個樣本的特征矩陣X_train,如下所示:X_train=[[0.5,0.8,0.2],[0.3,0.6,0.7],[0.1,0.4,0.9],[0.7,0.2,0.4],[0.9,0.3,0.6]]使用MinMaxScaler對這個特征矩陣進行歸一化處理,將特征值縮放到0到1之間。請計算歸一化后的X_train。答案:MinMax歸一化處理:fromsklearn.preprocessingimportMinMaxScaler#原始特征矩陣X_train=[[0.5,0.8,0.2],[0.3,0.6,0.7],[0.1,0.4,0.9],[0.7,0.2,0.4],[0.9,0.3,0.6]]#構建MinMaxScaler對象scaler=MinMaxScaler()#對特征矩陣進行歸一化處理X_train_normalized=scaler.fit_transform(X_train)print(X_train_normalized)歸一化后的特征矩陣X_train_normalized:[[0.50.80.][0.20.60.8][0.0.41.][0.80.0.4][1.0.20.6]]2.假設你有一個邏輯回歸模型estimator,并且已經(jīng)使用測試集x_test進行了預測,得到了預測結果y_pred,如下所示:y_pred=[0,1,0,1,0,1,1,0,1,0]同時,測試集的真實標簽y_test為:y_test=[0,1,1,1,0,0,1,0,0,1]請計算模型的準確率。答案:模型準確率計算:fromsklearn.metricsimportaccuracy_score#模型預測結果y_pred=[0,1,0,1,0,1,1,0,1,0]#真實標簽y_test=[0,1,1,1,0,0,1,0,0,1]#計算模型準確率accuracy=accuracy_score(y_test,y_pred)print("模型準確率:",accuracy)模型的準確率為:0.7實訓實訓目的:實訓的目的是通過使用Scikit-Learn建立一個房價預測模型,從房屋特征中預測房屋的銷售價格。學習者將學會數(shù)據(jù)預處理、模型構建、訓練和評估等關鍵步驟。實訓步驟:1.數(shù)據(jù)收集和理解:收集房屋特征數(shù)據(jù)和對應的房屋銷售價格數(shù)據(jù),理解數(shù)據(jù)的結構和含義。2.數(shù)據(jù)預處理:進行數(shù)據(jù)預處理,處理缺失值、異常值,進行特征縮放等。將數(shù)據(jù)轉換成適合模型輸入的格式。#示例:數(shù)據(jù)預處理importpandasaspdfromsklearn.model_selectionimporttrain_test_split#讀取數(shù)據(jù)data=pd.read_csv("housing_data.csv")#處理缺失值data=data.dropna()#分割特征和目標X=data.drop("Price",axis=1)y=data["Price"]#特征縮放fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler()X_scaled=scaler.fit_transform(X) 3.數(shù)據(jù)集劃分:將數(shù)據(jù)劃分為訓練集和測試集,通常將一部分數(shù)據(jù)用于訓練模型,另一部分用于評估模型性能。#示例:數(shù)據(jù)集劃分X_train,X_test,y_train,y_test=train_test_split(X_scaled,y,test_size=0.2,random_state=42)4.模型構建:使用Scikit-Learn構建預測模型,如線性回歸、決策樹回歸等。#示例:模型構建fromsklearn.linear_modelimportLinearRegressionmodel=LinearRegression() 5.模型訓練:使用訓練集來訓練模型。#示例:模型訓練model.fit(X_train,y_train)6.模型評估:使用測試集來評估模型的性能。#示例:模型評估fromsklearn.metricsimportmean_squared_errory_pred=model.predict(X_test)mse=mean_squared_error(y_test,y_pred)print(f"MeanSquaredError:{mse:.4f}") 7.結果可視化:繪制模型預測值與真實值的對比圖,以便觀察模型的預測效果。#示例:結果可視化importmatplotlib.pyplotaspltplt.figure(figsize=(10,6))plt.scatter(y_test,y_pred)plt.xlabel("TruePrices")plt.ylabel("PredictedPrices")plt.title("TruePricesvs.PredictedPrices")plt.show()航班乘客數(shù)預測本章習題一、簡答題1.什么是LSTM模型?答:LSTM(LongShort-TermMemory)模型是一種深度學習模型,適用于處理時間序列預測問題。它能夠捕捉時間序列數(shù)據(jù)中的長期依賴關系和波動,常用于航班乘客數(shù)預測等應用。2.PyTorch中的自動微分是什么?答:PyTorch提供了自動微分功能,允許自動計算張量的梯度。通過將requires_grad設置為True,PyTorch會跟蹤張量的計算歷史,并且可以使用.backward()函數(shù)計算梯度。這對于模型訓練和梯度下降等優(yōu)化算法非常有用。二、計算題1.如果將一個形狀為(3,4,5)的張量進行reshape為(2,15),結果中的元素如何排列?解決方法:importtorch#創(chuàng)建一個形狀為(3,4,5)的張量original_tensor=torch.arange(1,61).reshape(3,4,5)#使用view函數(shù)進行reshapereshaped_tensor=original_tensor.view(2,15)#打印原始張量和reshape后的張量print("原始張量:\n",original_tensor)print("\nreshape后的張量:\n",reshaped_tensor)2.假設你有一個訓練集的輸出結果train_y,其中包含了前10個時間步的乘客數(shù)(單位為千人),如下所示:train_y=[120,130,140,150,160,170,180,190,200,210]。現(xiàn)在你想將這些乘客數(shù)轉換成百萬人,即除以1000,得到一個新的張量。請使用PyTorch完成這個計算,并輸出結果。解決方法:importtorchtrain_y=torch.tensor([120,130,140,150,160,170,180,190,200,210])train_y_million=train_y.float()/1000.0#將整數(shù)張量轉換為浮點型,然后除以1000print(train_y_million)輸出結果:tensor([0.1200,0.1300,0.1400,0.1500,0.1600,0.1700,0.1800,0.1900,0.2000,0.2100])實訓實訓目的:實訓的目的是通過使用PyTorch建立一個銷售預測模型,從歷史銷售數(shù)據(jù)中預測未來銷售額。學習者將掌握如何準備數(shù)據(jù)、構建神經(jīng)網(wǎng)絡模型以及訓練和評估模型。實訓步驟:1.數(shù)據(jù)收集和理解:收集歷史銷售數(shù)據(jù),理解數(shù)據(jù)的結構和含義。數(shù)據(jù)應包括銷售額、時間戳等信息。2.數(shù)據(jù)預處理:進行數(shù)據(jù)預處理,處理缺失值、異常值,進行數(shù)據(jù)平滑等。將數(shù)據(jù)轉換成適合模型輸入的格式。#示例:數(shù)據(jù)預處理importpandasaspdfromsklearn.model_selectionimporttrain_test_split#讀取數(shù)據(jù)data=pd.read_csv("sales_data.csv")#處理時間戳data['timestamp']=pd.to_datetime(data['timestamp'])data.set_index('timestamp',inplace=True)#分割訓練集和測試集train_data,test_data=train_test_split(data,test_size=0.2,shuffle=False)3.特征工程:提取與銷售預測相關的特征,如歷史銷售數(shù)據(jù)、季節(jié)性特征等。#示例:特征工程importnumpyasnpdefcreate_sequences(data,seq_length):sequences=[]targets=[]foriinrange(len(data)-seq_length):seq=data[i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論