資料分析 | Numpy實戰(三) - 分析各類使用者佔比
本次複習的知識點如下:
numpy的reshape以及shape在實戰中的運用
matplotlib餅圖繪製
分析目標
觀察上次的資料,資料中有的資料有會員與非會員兩種使用者類別。
這次我們主要分析一下兩種類別使用者在資料中佔比。
資料讀取與資料清洗
根據流程示意圖我們主要遵循下面幾個步驟:
在過去兩次的文章中已經有關於資料讀取和資料分析操作的詳細程式碼講解,所以不再贅述。
此處程式碼為:
# 資料讀取,資料清洗
def read_clean_data():
clndata_arr_list = []
for data_filename in data_filenames:
file = os.path.join(data_path, data_filename)
data_arr = np.loadtxt(file, skiprows=1, delimiter=',', dtype=bytes).astype(str)
cln_arr = np.core.defchararray.replace(data_arr[:, -1], '"', '')
cln_arr = cln_arr.reshape(-1,1)
clndata_arr_list.append(cln_arr)
year_cln_arr = np.concatenate(clndata_arr_list)
return year_cln_arr
這裡需要注意兩點:
因為資料較大,我們沒有資料檔案具體資料量,所以在使用
numpy.reshape
時我們可以使用numpy.reshape(-1,1)
這樣numpy可以使用統計後的具體數值替換-1
。我們對資料的需求不再是獲取時間的平均值,只需獲取資料最後一列並使用
concatenate
方法堆疊到一起以便下一步處理。
資料分析
根據這次的分析目標,我們取出最後一列Member type
。
在上一步我們已經獲取了全部的數值,在本部只需篩選統計出會員與非會員的數值就可以了。
我們可以先看下完成後的這部分程式碼:
# 資料分析
def mean_data(year_cln_arr):
member = year_cln_arr[year_cln_arr == 'Member'].shape[0]
casual = year_cln_arr[year_cln_arr == 'Casual'].shape[0]
users = [member,casual]
print(users)
return users
同樣,這裡使用numpy.shape
獲取使用者分類的具體資料。
結果展示
生成的餅圖:
下面是生成餅圖的程式碼:
# 結果展示
plt.figure()
plt.pie(users, labels=['Member', 'Casual'], autopct='%.2f%%', shadow=True, explode=(0.05, 0))
plt.axis('equal')
plt.tight_layout()
plt.savefig(os.path.join(output_path, './piechart.png'))
plt.show()
總結
關於之前文章中numpy的大部分用法在這三篇的實戰中都有提及,接下來還剩一篇numpy實戰總結全文,之後會進入pandas的複習
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556785/viewspace-2564293/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料分析 | Numpy實戰(一) - 分析某單車騎行時間
- 資料分析——numpy
- 資料分析三劍客之一numpy
- Python資料分析 – numpyPython
- Python資料分析 - NumpyPython
- Python資料分析之numpyPython
- 爬蟲實戰(三):微博使用者資訊分析爬蟲
- Python | 資料分析實戰ⅠPython
- Python | 資料分析實戰 ⅡPython
- Python資料分析 numpy 筆記Python筆記
- 遊戲資料分析的三大實戰案例深度解讀遊戲
- 資料分析從零開始實戰 | 基礎篇(三)
- Python資料分析與展示之『Numpy』Python
- python-資料分析-Numpy-2Python
- MySQL大量資料插入各種方法效能分析與比較MySql
- 巧用Superset大資料分析平臺搞定各類圖表大資料
- Java中各Set實現類的效能分析Java
- Python資料分析(二): Numpy技巧 (1/4)Python
- Python資料分析(二): Numpy技巧 (4/4)Python
- Python資料分析(二): Numpy技巧 (3/4)Python
- Python資料分析(二): Numpy技巧 (2/4)Python
- 大資料專案實戰之 --- 使用者畫像專案分析大資料
- (五)numpy知識學習2-python資料分析與機器學習實戰(學習筆記)Python機器學習筆記
- 北京各環線人口分佈資料披露 三環至六環佔比57.1%
- python資料分析之Numpy資料庫第三期陣列的運算Python資料庫陣列
- 收集、分析線上日誌資料實戰——ELK
- Python資料分析(一)--numpy全知全會Python
- 資料分析方法——使用者群組分析
- QuestMobile:各機型市場佔有率及使用者行為分析
- 七牛大資料平臺的實時資料分析實戰大資料
- 如何在電商“戰役”中獨佔鰲頭?資料分析少不了!
- PHP 效能分析(三): 效能調優實戰PHP
- 大資料分析師,比資料分析師厲害在哪大資料
- Python資料分析--Numpy常用函式介紹(2)Python函式
- Python資料分析--Numpy常用函式介紹(3)Python函式
- Python資料分析 | Numpy與1維陣列操作Python陣列
- Python資料分析與挖掘實戰(資料預處理)Python
- Python資料分析與挖掘實戰筆記Python筆記