一、專案背景
案例型別:練習
案例工具:python、qgis
二 、提出問題
①通過餐飲資料分析選出最具有競爭力的品類;
②通過建立綜合分數指標的計算公式來挑選出最適合位址。
三、理解資料
讀取資料集後,通過info()和describe()方法來檢視一下資料的基本情況。
data.info()
——————————————————————————
rangeindex: 96398 entries, 0 to 96397
data columns (total 10 columns):
類別 96258 non-null object
行政區 96255 non-null object
點評數 96398 non-null int64
口味 96398 non-null float64
環境 96398 non-null float64
服務 96398 non-null float64
人均消費 96398 non-null int64
城市 96398 non-null object
lng 96398 non-null float64
lat 96398 non-null float64
dtypes: float64(5), int64(2), object(3)
memory usage: 7.4+ mb
資料共計96398個,10個變數/特徵,資料型別數量為 float64(5), int64(2), object(3),粗略觀察,資料明顯有缺失值的情況,需要進行資料的清洗。
四、資料處理
使用data.isnull().values.sum()檢查空值數量,檢查出283個空值。
由於空值佔資料總量比例為283/96398 = 0.0029,刪除空值並不影響整體的資料情況,所以這裡採用刪除的辦法來處理空值。
使用data.dropna()對空值進行刪除,再使用data.isnull().values.sum()進行檢查,結果為0。
資料清洗後的資料共計96255個。根據①通過餐飲資料分析選出最具有競爭力的品類的要求,選擇相關的變數,選擇['類別', '口味', '環境', '服務', '人均消費』]5個變數。
建立['類別', '口味', '環境', '服務', '人均消費』]的dataframe,並且篩選出所有評分和消費大於0的情況。因為根據實際情況,評分和消費為0的資料對此沒有參考作用。
引入』價效比』這一列,價效比的計算方式將所有的評分相加再除以人均消費金額,計算出 分/元 為單位的數值,表示單位**獲得的分數 來表示其價效比。
這樣獲得了df如下,篩選出了需要的資料54886個。
df.info()
——————————————————————————
int64index: 54886 entries, 0 to 96395
data columns (total 6 columns):
類別 54886 non-null object
口味 54886 non-null float64
環境 54886 non-null float64
服務 54886 non-null float64
人均消費 54886 non-null int64
價效比 54886 non-null float64
dtypes: float64(4), int64(1), object(1)
memory usage: 2.9+ mb
五、構建模型
得到資料集df,選擇'類別'進行groupby分組再進行mean值等到每個類別的值。
使用箱型圖進行異常值的排查。
箱型圖使用異常值刪除的函式,對異常值進行刪除。
構建乙個選擇具有競爭力的品類的公式的因素,例如』口味','人均消費』,'價效比』,然後通過異常值刪除的函式得出資料集。
將三組資料集放在同一張圖上面。
很明顯是由於沒有做 資料標準化處理。
資料標準化處理之後
設計了乙個計算公式,權重自己設計 分數的計算式 比如按照 口味:人均消費:價效比 = 2:5:3 的比例去計算。
先合併df_kw_max_min、df_rj_max_min、df_xjb_max_min,通過pd.merge合併。
計算最後的得分
得出「甜品」是最佳的品類。
使用qgis製作出關於'人口密度'、'道路密度'、'餐飲密度'、'競品密度』、'經度』、』維度'相關的資料集。
資料集有空值,使用dealdata.fillna(0,inplace=true)進行0的填充。
觀察資料得知,'人口密度'、'道路密度'、'餐飲密度'、'競品密度』不在同一緯度上,所以進行資料標準化處理。再計算['綜合指標』]這一新列的數值。按照』人口密度』:'道路密度』:'餐飲密度』:'競品密度』=4:3:2:1的比例。
六、資料視覺化
利用matplotlib進行製圖,使用散點圖。
補充:使用bokeh繪製空間互**形。
得出結論:
甜品店選址在(121°472′e,31°301′n)、(121°473′e,31°274′n)、(121°493′e,31°244′n)等地方開設最優。
文源網路,僅供學習之用,侵刪。
python資料分析
以網路爬蟲為例,網路爬蟲是乙個自動提取網頁的程式,爬蟲是搜尋引擎的第一步,也是最容易的一部。網頁搜尋,建立索引,查詢排序 用c c 效率高,速度塊,適合通用搜尋引擎做往往爬取。但是它的缺點也特別明顯 開發慢,寫起來又臭又長的。而python無論在資料分析還是在指令碼自動化編寫尚都是簡單,易學的。良好...
python資料分析
陣列間的算術運算 npwhere pandas的使用 np.random.rand 3,4 產生乙個3行4列的矩陣 0 1之間的 in 32 data1 1,2,3,4.0 in 34 arr1 np.array data1 in 35 arr1 out 35 array 1.2.3.4.in 37...
python資料分析
1.資料分析的含義與目標 2.python與資料分析 3.python資料分析大家族 4.python環境搭建 一 numpy 功能 ndarray 多維操作 線性代數 官網 numpy是python語言的乙個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。nu...