【2024_CUMCM】數據預處理、數據分析、數據可視化

目錄

2023-c題-問題1

問題分析?

偏度

峰度

箱線圖?

讀圖

重采樣、降采樣、升采樣

重采樣

降采樣

升采樣

解題代碼


2023-c題-問題1

問題分析?

問題說白了就是探究品類和銷售量這兩個數據他們各自內在聯系,根據題意,我們先進行

據預處理,按照以往的步驟是針對缺失值、重復值、異常值。我認為這道題應該是探究特殊

,需要思考到情境下的特殊情況和特殊數據,再進行處理。然后就可以開始數據分析,通

過函數引入數量、均值、最值、百分位數、偏度、峰度等描述統計量,并通過數據可視化

如熱力圖、箱線圖、折線圖、條形圖、直方圖更清晰探究其關聯關系。?

偏度

偏度(Skewness)是用來度量隨機變量概率分布的不對稱性的統計量。它可以幫助我們了解數據分布的傾斜方向和程度

當偏度 < 0 時,概率分布圖左偏;當偏度 = 0 時,表示數據相對均勻地分布在平均值兩側,不一定是絕對的對稱分布;當偏度 > 0 時,概率分布圖右偏。

峰度

峰度(Kurtosis)是用來度量隨機變量概率分布的陡峭程度的統計量。它可以幫助我們了解數據分布的尖峭或平坦程度。峰度的計算公式為:

峰度的取值范圍為 [1, +∞)。完全服從正態分布的數據的峰度值為 3。峰度值越大,概率分布圖越高尖;峰度值越小,越矮胖

箱線圖?

是顯示一組數據分散情況資料的統計圖。

讀圖

?從圖中可以看出,南山區的房價最高,南山區、寶安區、福田區等的異常值很多,說明這些地區大部分房價高于均值。

重采樣、降采樣、升采樣

相關參數?

重采樣

重采樣是時間序列頻率轉換的過程,可以理解為調整數據的時間分辨率。在Python的Pandas庫中,`resample`函數用于執行重采樣操作。

重采樣可以將高頻數據聚合到低頻率(降采樣),也可以將低頻數據轉換為高頻率(升采樣)

降采樣

降采樣是指從大量數據中選擇一部分代表性樣本的過程。

降采樣是將高頻數據轉換為低頻數據的過程。在降采樣時,需要考慮`closedlabel`參數,它們分別決定了時間區間的閉合端點和聚合值的標簽位置。

例如,如果想要將每天的數據聚合為每月的數據,可以使用resample('M')方法,其中'M'代表月度頻率。

升采樣

升采樣是指增加數據集中樣本數量的過程。

升采樣是將低頻數據轉換為高頻數據的過程。在升采樣中,主要是通過數據插值來填補缺失的值

例如,如果想要將每年的數據轉換為每月的數據,可以使用resample('M')方法,并配合適當的插值方法(如ffill)來填充缺失的月份數據。

解題代碼

# %%
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np# %%
category = pd.read_excel('2023年數學建模C\附件1.xlsx')# %%
data= pd.read_excel('2023年數學建模C\附件2.xlsx')# %%
category# %%
merge_data=pd.merge(data,category,how='left',on='單品編碼')# %%
merge_data.info()
merge_data# %%
# 刪除某列中的某個值
merge_data=merge_data[merge_data['銷售類型']!='退貨']# %%
merge_data.drop(['掃碼銷售時間'],axis=1,inplace=True)# %%
merge_data.drop(['是否打折銷售'],axis=1,inplace=True)# %%
merge_data.drop(['銷售類型'],axis=1,inplace=True)# %%
merge_data# %%
# 透視表
pivot_table = merge_data.pivot_table(index='銷售日期', columns='分類名稱', values='銷量(千克)', aggfunc='sum')
pivot_table# %%
pivot_table.describe()# %%
# 計算偏度
pivot_table.skew()# %%
# 計算峰度
pivot_table.kurt()# %%
df=pivot_table.resample('3M').sum()
df# %%
dff=df.corr()
dff# %%
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus'] = Falseplt.rcParams['font.size'] = 12
plt.rcParams['xtick.labelsize']=12
plt.rcParams['ytick.labelsize']=12
plt.rcParams['axes.labelsize']=12
plt.rcParams['axes.titlesize']=12# %%
plt.figure(figsize=(10, 6))
# 熱力圖上顯示系數
sns.heatmap(dff, cmap='coolwarm', square=True, annot=True)
# sns.heatmap(dff, cmap='coolwarm', fmt=".2f", linewidths=.5, square=True, cbar_kws={"shrink": .5})
plt.title('各分類名稱之間的相關系數熱力圖')
plt.show()# %%
pivot_table2= merge_data.pivot_table(index='銷售日期', columns='單品名稱', values='銷量(千克)', aggfunc='sum')
pivot_table2.describe()# %%
pivot_table2.info()# %%
pivot_table2# %%
df2=pivot_table2.resample('3M').sum()# %%
df_d=df2.describe()
df_d# %%
# 計算峰度與偏度
s1=df2.skew()
s2=df2.kurt()
s1
d1=dict(s1)
d2=dict(s2)# %%
df2_skew=pd.DataFrame(d1,index=['skew'],columns=s1.index)
df2_kurt=pd.DataFrame(d2,index=['kurt'],columns=s2.index)
df2_skew# %%
# 按行合并
df_d = pd.concat([df_d, df2_skew, df2_kurt], axis=0)
df_d# %%
# 選取前六列
dfff2 = df_d.iloc[:, :6]# %%
# 畫出折線圖
dfff2.plot(kind='line', figsize=(10,8 ))
plt.title('各單品名稱銷量(千克)')
plt.show()# %%
plt.figure(figsize=(10, 8))
sns.heatmap(dfff2, cmap='coolwarm', square=True, annot=True)
plt.title('各單品名稱之間的相關系數熱力圖')
plt.show()# %%
df_dd=pivot_table2.describe()
df_dd# %%
label_list =df_dd.columns
# 從數據框中選擇第一行數據,并使用sort_values()函數對其進行排序,使其按降序排列。
num_list1 =df_dd.iloc[0].sort_values(ascending=False)
plt.bar(label_list,num_list1)
plt.ylabel("銷售數量")
plt.xticks(label_list)
plt.xlabel("單品名稱")
plt.title("某公司2012-2013年前6個月出貨量")
plt.legend()
plt.show()# %%
x = df_dd.iloc[0].sort_values(ascending=False)  				#數據集
plt.boxplot(x)    				#垂直顯示箱線圖
plt.show()						#顯示該圖# %%

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42505.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42505.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42505.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C語言】 —— 編譯和鏈接

【C語言】 —— 編譯和鏈接 一、編譯環境和運行環境二、翻譯環境2.1、 預處理2.2、 編譯&#xff08;1&#xff09;詞法分析&#xff08;2&#xff09;語法分析&#xff08;3&#xff09;語義分析 2.3、 匯編2.4、鏈接 三、運行環境 一、編譯環境和運行環境 平時我們說寫 C語言…

C語言中32位浮點數的格式

以 GNU C為例&#xff0c;它遵循 IEEE 754-2008標準中制定的浮點表示規范。在該規范中定義了 5種不同大小的基礎二進制浮點格式&#xff0c;包括&#xff1a;16位&#xff0c;32位&#xff0c;64位&#xff0c;128位&#xff0c;256位。其中&#xff0c;32位的格式被用作標準 C…

使用AOP思想實現開閉原則下的流水日志輸出

主要實現思想&#xff1a; 通過實現Convert接口來抽取公共組件&#xff0c;獲取想要的標準模型。 現在有兩個訂單場景&#xff0c;一個保存訂單&#xff0c;一個為更新訂單。構造如下的服務類&#xff1a; import org.springframework.stereotype.Service;Service public clas…

JavaScript-實例-button

1 需求 2 接口 3 點擊button跳轉到一個頁面 在HTML中&#xff0c;當你想要點擊一個按鈕并跳轉到另一個頁面時&#xff0c;通常你可以使用<a>標簽來包裹按鈕的樣式&#xff08;盡管這通常不是最佳實踐&#xff0c;因為<a>標簽是用于鏈接的&#xff0c;而<button&…

SHAP(SHapley Additive exPlanations)基于XGBoost模型的可解釋機器學習

模型可解釋性 這是一個關于錯誤解釋機器學習模型的危險以及正確解釋它的價值的故事。如果您發現諸如梯度提升機或隨機森林之類的集成樹模型的魯棒準確性很有吸引力&#xff0c;但也需要解釋它們&#xff0c;那么我希望您發現這些信息有用且有幫助。 試想一下&#xff0c;我們…

julia系列17: tsp問題代碼整理

1. 常用庫和基礎函數 這里是優化版的函數&#xff1a; using TSPLIB,LKH,Distances,PyPlot MaxNum 10000 tspreadTSPLIB(:att48) dist [round.(Int,euclidean(tsp.nodes[i,:],tsp.nodes[j,:])) for i in 1:tsp.dimension,j in 1:tsp.dimension]; pos(tsp::TSP,t::Vector{In…

Groovy中,多種循環方式

1.最常規的for循環 for (def i 0; i < 5; i) { //這個i需要聲明println "遍歷輸出${i}" }2.while循環 def j 0 while (j < 5) {println "遍歷輸出 ${j}"j }3.for in 循環 def list [0, 1, 2, 3, 4] //這個l無需聲明 for (l in list) { printl…

uniapp跨域問題解決

找到menifest文件&#xff0c;在文件的最后添加如下代碼&#xff1a; // h5 解決跨域問題"h5":{"devServer": {"proxy": {"/adminapi": {"target": "https://www.demo.com", // 目標訪問網址"changeOrigin…

數據庫的存儲引擎,數據類型,約束條件,嚴格模式

【一】存儲引擎 1.什么是存儲引擎存儲引擎可以理解為處理數據的不同方式 2.查看存儲引擎show engines; 3.須知的引擎MyISAM5.5之前版本MySQL默認的存儲引擎特點:存取數據的速度快 但是功能很少 安全性較低速度快因為自帶索引InnoDB5.5之后版本MySQL默認的存儲引擎特點:有諸多功…

工程施工合同無效但竣工交付,應當參照合同關于工程價款的約定計算折價補償款

審判實踐中&#xff0c;對于建設工程施工合同無效但工程竣工并交付使用的&#xff0c;應以何種標準計算折價補償款的問題&#xff0c;認識不一致。【法官會議意見】&#xff1a;建設工程施工合同是承包人進行工程建設、交付工作成果即建設工程并由發包人支付價款的合同。建設工…

httpd目錄顯示亂碼問題

vim /etc/httpd/conf/httpd.conf 在<Directory “/var/www/html”>下添加&#xff1a; IndexOptions CharsetUTF-8重啟httpd: systemctl restart httpd.service還是不好看&#xff0c;調整下顯示寬度&#xff0c;還是這個位置&#xff1a; <Directory “/var/www/ht…

區塊鏈論文速讀A會-ISSTA 2023(2/2)如何檢測DeFi協議中的價格操縱漏洞

Conference&#xff1a;ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) CCF level&#xff1a;CCF A Categories&#xff1a;Software Engineering/System Software/Programming Languages Year&#xff1a;2023 第1~5篇區塊鏈文章 請點擊此…

09視圖,觸發器,事務,存儲過程,函數,流程控制,索引,隔離機制,鎖機制,三大范式

【一】視圖 (1)視圖須知概念 1.什么是視圖&#xff1f; 視圖就是通過查詢得到一張虛擬表&#xff0c;然后保存下來&#xff0c;下次可以直接使用 2.為什么要用視圖&#xff1f; 如果要頻繁操作一張虛擬表(拼表組成)&#xff0c;就可以制作成視圖&#xff0c;后續直接操作 注意…

IDEA 創建springboot項目雜記-更新中

一、工具使用雜記 1、使用maven 創建新springboot項目時&#xff0c;因為https://start.spring.io/ 連接不上項目無法創建。直接把腳手架地址換為國內的 http://start.aliyun.com

田忌賽馬 貪心

本題是更難的那道,一場50 最低為o 第一行一個整數 &#x1d45b;n &#xff0c;表示他們各有幾匹馬&#xff08;兩人擁有的馬的數目相同&#xff09;。第二行 &#x1d45b;n 個整數&#xff0c;每個整數都代表田忌的某匹馬的速度值&#xff08;0≤0≤ 速度值 ≤100≤1…

Python】從文本字符串中提取數字、電話號碼、日期、網址的方法

關于從文本字符串中提取數字、電話號碼、日期和網址的方法&#xff1a; 提取數字&#xff1a; 在 Python 中&#xff0c;使用正則表達式 \d 來匹配數字。 \d 表示匹配一個數字字符&#xff08;0-9&#xff09;。如果要匹配連續的數字&#xff0c;可以使用 \d 。 import re def …

C++面向對象的常見面試題目(一)

1. 面向對象的三大特征 &#xff08;1&#xff09;封裝&#xff1a;隱藏對象的內部狀態&#xff0c;只暴露必要的接口。 #include <iostream> #include <string>// 定義一個簡單的類 Person class Person { private: // 私有成員&#xff0c;外部不可直接訪問std…

Mac OS ssh 連接提示 Permission denied (publickey)

這錯誤有點奇葩&#xff0c;MacBook的IDE(vscode和pycharm)遠程都連不上&#xff0c;terminal能連上&#xff0c;windows的pycharm能連上&#xff0c;見鬼了&#xff0c;所以肯定不是秘鑰的問題了&#xff0c;查了好久竟然發現是權限的問題。。 chmod 400 ~/.ssh/id_rsa http…

華為機試HJ37統計每個月兔子的總數

華為機試HJ37統計每個月兔子的總數 題目&#xff1a; 想法&#xff1a; 上述題目實際是一個斐波那契數列&#xff0c;利用斐波那契數列對問題進行求解 input_number int(input())def fib(n):if n < 2:return 1else:n_1 1n_2 1count 2while count < n:n_1, n_2 n_…

【Android】【多屏】多屏異顯異觸調試技巧總結

這里寫目錄標題 如何獲取多屏IDs獲取多屏的size/density如何啟動應用到指定DisplayId多屏截屏/錄屏screencapscreenrecord發送按鍵到指定DisplayId 如何獲取多屏IDs dumpsys display | grep mDisplayIdtrinket:/ # dumpsys display | grep mDisplayIdmDisplayId0mDisplayId2 t…