Python資料分析 根據大眾點評資料挑選店鋪位址

2021-10-05 18:33:15 字數 3500 閱讀 2632

一、專案背景

案例型別:練習

案例工具: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...