您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“如何用Numpy分析各類用戶占比”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何用Numpy分析各類用戶占比”吧!
觀察上次的數(shù)據(jù),數(shù)據(jù)中有的數(shù)據(jù)有會(huì)員與非會(huì)員兩種用戶類別。
這次我們主要分析一下兩種類別用戶在數(shù)據(jù)中占比。
根據(jù)流程示意圖我們主要遵循下面幾個(gè)步驟:
此處代碼為:
# 數(shù)據(jù)讀取,數(shù)據(jù)清洗
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
這里需要注意兩點(diǎn):
因?yàn)閿?shù)據(jù)較大,我們沒有數(shù)據(jù)文件具體數(shù)據(jù)量,所以在使用numpy.reshape
時(shí)我們可以使用numpy.reshape(-1,1)
這樣numpy可以使用統(tǒng)計(jì)后的具體數(shù)值替換-1
。
我們對(duì)數(shù)據(jù)的需求不再是獲取時(shí)間的平均值,只需獲取數(shù)據(jù)最后一列并使用concatenate
方法堆疊到一起以便下一步處理。
根據(jù)這次的分析目標(biāo),我們?nèi)〕鲎詈笠涣?code>Member type。
在上一步我們已經(jīng)獲取了全部的數(shù)值,在本部只需篩選統(tǒng)計(jì)出會(huì)員與非會(huì)員的數(shù)值就可以了。
我們可以先看下完成后的這部分代碼:
# 數(shù)據(jù)分析
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
獲取用戶分類的具體數(shù)據(jù)。
生成的餅圖:
下面是生成餅圖的代碼:
# 結(jié)果展示
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()
到此,相信大家對(duì)“如何用Numpy分析各類用戶占比”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。