做網(wǎng)站需要什么條件廣告推廣媒體
👉博__主👈:米碼收割機(jī)
👉技__能👈:C++/Python語言
👉公眾號👈:測試開發(fā)自動化【獲取源碼+商業(yè)合作】
👉榮__譽(yù)👈:阿里云博客專家博主、51CTO技術(shù)博主
👉專__注👈:專注主流機(jī)器人、人工智能等相關(guān)領(lǐng)域的開發(fā)、測試技術(shù)。
python商家會員數(shù)據(jù)分析可視化(源碼+數(shù)據(jù)集+課程報(bào)告論文)
目錄
- python商家會員數(shù)據(jù)分析可視化(源碼+數(shù)據(jù)集+課程報(bào)告論文)
- 一、數(shù)據(jù)處理清洗
- 1. 數(shù)據(jù)讀取與準(zhǔn)備
- 2. 距離計(jì)算
- 3. 任務(wù)吸引力分析
- 二、數(shù)據(jù)可視化
一、數(shù)據(jù)處理清洗
1. 數(shù)據(jù)讀取與準(zhǔn)備
從兩個(gè)Excel文件中提取所需的數(shù)據(jù)。這包括任務(wù)的GPS坐標(biāo)、會員的GPS坐標(biāo)和會員的信譽(yù)值。使用pandas庫讀取Excel文件是因?yàn)樗峁┝藦?qiáng)大的數(shù)據(jù)處理功能,可以輕松處理大量數(shù)據(jù),并且支持多種數(shù)據(jù)操作,如篩選、排序和聚合,這對后續(xù)的數(shù)據(jù)分析至關(guān)重要。
2. 距離計(jì)算
設(shè)計(jì)中核心的部分是計(jì)算任務(wù)地點(diǎn)和會員位置之間的地理距離。距離計(jì)算使用了地球上兩點(diǎn)間的近似距離公式,這需要將緯度和經(jīng)度轉(zhuǎn)換為弧度,然后應(yīng)用特定的地理計(jì)算公式。這一步驟關(guān)鍵在于準(zhǔn)確和高效地處理數(shù)學(xué)運(yùn)算。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈
3. 任務(wù)吸引力分析
根據(jù)計(jì)算出的距離,進(jìn)一步分析特定任務(wù)的吸引力。例如,統(tǒng)計(jì)在5公里范圍內(nèi)的會員數(shù)量,和這些會員的信譽(yù)值總和。這不僅涉及基本的條件篩選,也涉及到數(shù)據(jù)聚合。
二、數(shù)據(jù)可視化
首先,從Excel文件中讀取了兩組數(shù)據(jù),一組是已結(jié)束項(xiàng)目任務(wù)數(shù)據(jù),另一組是會員信息數(shù)據(jù)。為了處理這些數(shù)據(jù),使用了pandas庫來讀取Excel文件并將數(shù)據(jù)存儲在DataFrame中。這兩個(gè)文件分別包含了任務(wù)的詳細(xì)信息(包括任務(wù)編號、GPS坐標(biāo)、標(biāo)價(jià)和執(zhí)行情況)和會員的詳細(xì)信息(包括會員編號、位置、預(yù)訂任務(wù)限額、預(yù)訂任務(wù)開始時(shí)間和信譽(yù)值)。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負(fù)號tasks_df = pd.read_excel('已結(jié)束項(xiàng)目任務(wù)數(shù)據(jù).xlsx', engine='openpyxl')
members_df = pd.read_excel('會員信息數(shù)據(jù).xlsx', engine='openpyxl')
為了計(jì)算特定任務(wù)位置與所有會員位置之間的距離,定義了一個(gè)距離計(jì)算函數(shù)calculate_distance。該函數(shù)使用了地球表面的弧長公式,考慮了緯度和經(jīng)度的變化,確保計(jì)算的準(zhǔn)確性。然后,提取了特定任務(wù)(A0001和A0002)的GPS坐標(biāo),并計(jì)算了每個(gè)會員到這兩個(gè)任務(wù)位置的距離。
def calculate_distance(lat1, lon1, lat2, lon2):phi1, phi2 = np.radians(lat1), np.radians(lat2)lambda1, lambda2 = np.radians(lon1), np.radians(lon2)delta = 111.199 * np.sqrt((phi1 phi2) 2 + ((lambda1 lambda2) 2) * np.cos((phi1 + phi2) / 2) 2)return delta
進(jìn)行了兩項(xiàng)具體的統(tǒng)計(jì)分析:計(jì)算任務(wù)A0001在5公里范圍內(nèi)的會員個(gè)數(shù)。計(jì)算任務(wù)A0002在5公里范圍內(nèi)所有會員的信譽(yù)值總和。
這些統(tǒng)計(jì)數(shù)據(jù)可以幫助了解不同任務(wù)的會員參與情況和信譽(yù)情況,從而更好地評估任務(wù)的完成質(zhì)量和會員的分布情況。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈
print(S_A0001)
print(S_A0002)print("A0001任務(wù)5公里范圍內(nèi)的會員個(gè)數(shù):", A0001_Bnum)
print("A0002任務(wù)5公里范圍內(nèi)所有會員信譽(yù)值總和:", A0002_Bavg)
柱狀圖:展示了前15個(gè)任務(wù)的標(biāo)價(jià)分布。
通過柱狀圖分析,可以直觀地比較不同任務(wù)的標(biāo)價(jià),了解任務(wù)標(biāo)價(jià)的整體分布情況。
散點(diǎn)圖:展示了前15個(gè)會員的位置和信譽(yù)值。
通過散點(diǎn)圖分析,展示了前15個(gè)會員的位置和信譽(yù)值,橫軸和縱軸分別表示會員的緯度和經(jīng)度,每個(gè)點(diǎn)的顏色代表對應(yīng)會員的信譽(yù)值。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈
直方圖:展示了前10個(gè)任務(wù)的標(biāo)價(jià)分布頻率。
通過直方圖分析,展示了前10個(gè)任務(wù)的標(biāo)價(jià)分布頻率,橫軸表示任務(wù)標(biāo)價(jià)的區(qū)間,縱軸表示每個(gè)標(biāo)價(jià)區(qū)間內(nèi)任務(wù)的數(shù)量。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈
折線圖:展示了前15個(gè)任務(wù)的標(biāo)價(jià)變化趨勢。
通過折線圖分析,展示了前15個(gè)任務(wù)的標(biāo)價(jià)變化趨勢,橫軸表示任務(wù)編號,縱軸表示任務(wù)標(biāo)價(jià)。
餅狀圖:展示了任務(wù)執(zhí)行情況的比例分布。
通過餅狀圖分析,展示了任務(wù)執(zhí)行情況的比例分布,其中每個(gè)扇形代表不同任務(wù)執(zhí)行情況的比例,直觀地顯示了已完成任務(wù)和未完成任務(wù)在總?cè)蝿?wù)中的占比。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈
玫瑰圖:展示了前15個(gè)任務(wù)的標(biāo)價(jià)在極坐標(biāo)系下的分布。
通過玫瑰圖分析,展示了前15個(gè)任務(wù)的標(biāo)價(jià)在極坐標(biāo)系下的分布,每個(gè)扇形的角度和半徑分別表示任務(wù)的編號和標(biāo)價(jià)。
箱線圖:展示了前15個(gè)會員的信譽(yù)值分布情況。
👉👉👉 源碼獲取 關(guān)注【測試開發(fā)自動化】公眾號,回復(fù) “商會” 獲取。👈👈👈