Pandas可以說是Python在數(shù)據(jù)分析應(yīng)用最廣最基礎(chǔ)也是最重要的一個(gè)包,復(fù)盤一下日常比較常用的pandas用法。
數(shù)據(jù)導(dǎo)入
import pandas as pd
import numpy as np
df=pd.read_csv(invest_sample.csv)
類似的導(dǎo)入還有 pd.read_table 和 pd.read_txt 等,但是,pd.read_csv 最為常用。因?yàn)閏sv格式的文件比較干凈,一般都是用轉(zhuǎn)好格式的csv文件來處理數(shù)據(jù)。
數(shù)據(jù)觀察
df.head()

默認(rèn)是查看前5行,括號中也可以輸入想要查看的行數(shù)。如df.head(10)代表查看前10行。
這個(gè)時(shí)候一般檢查是否有顯示亂碼和查看表頭字段。
還有個(gè)df.tail(),可以查看數(shù)據(jù)的后5行。
df.info()

主要查看每個(gè)字段的行數(shù)與字段類型,是否有缺失值,
可以打印出數(shù)據(jù)框的大小,代表11757行,7列。
df.shape

df.describe()

主要查看的每個(gè)字段(數(shù)值類型的字段)的描述統(tǒng)計(jì),包括記數(shù),平均值,方差,最小值,最大值和百分位數(shù)。
使用以上的pandas用法基本對要分析的數(shù)據(jù)有了一個(gè)大概了解。
數(shù)據(jù)認(rèn)知
數(shù)據(jù)源是一份脫敏過的數(shù)據(jù),字段包含 用戶id,購買日期,購買金額,購買人用戶屬性等,是一份典型的電商購買數(shù)據(jù)。繼續(xù)使用pandas包來進(jìn)行更深入的認(rèn)知和分析。
購買次數(shù)與金額最多的商品的,商品標(biāo)記是2和3的次數(shù)和金額都是最多的。
df.groupby('expect').count()['amount']

df.groupby('expect').sum()['amount']

數(shù)據(jù)集范圍內(nèi)的金額
df.sum()['amount']

客單價(jià)即單筆訂單的金額大小,可以反映用戶的消費(fèi)能力。
整體的客單價(jià)
df.mean()['amount']

不同省份的客單價(jià),不同省份的的客單價(jià)相差比較大了。
這時(shí)候首先要確認(rèn)的是 這種誤差是不是由于部分省份購買人數(shù)的過少造成的波動(dòng)(人數(shù)過少,個(gè)別大客戶會(huì)大幅影響平均水平,使算數(shù)平均值這個(gè)指標(biāo)衡量失真)
剔除異常情況后,客單價(jià)較高且人數(shù)較多的地區(qū)需要繼續(xù)保持,客單價(jià)較高大是人數(shù)較少的地區(qū)需要拉進(jìn)新用戶,用戶人數(shù)很多但是客單價(jià)不高的地區(qū)需要激勵(lì)用戶購買潛力。
df.groupby('province').mean()['amount']

不同產(chǎn)品的客單價(jià),用戶對不同產(chǎn)品的偏好程度
df.groupby('expect').mean()['amount']

不同性別的客單價(jià),不同性別用戶的單次消費(fèi)能力,女性用戶略高與男性用戶。
df.groupby('gender').mean()['amount']

發(fā)現(xiàn)了不同性別客單價(jià)的差異,繼續(xù)看下不同性別對平臺(tái)的貢獻(xiàn)能力。
金額貢獻(xiàn)女性是男性的兩倍。。。(跪了),人數(shù)勉強(qiáng)是兩倍。
df.groupby('gender').sum()['amount']

df.groupby('gender').count()['amount']

為什么用pandas
以上用pandas進(jìn)行了基本的數(shù)據(jù)觀察和分析,由于數(shù)據(jù)取的比較規(guī)范,基本沒有臟數(shù),省了清洗這一步。
很多人覺得python也沒比excel好到哪里去啊,以上實(shí)現(xiàn)的用excel也可以實(shí)現(xiàn),操作也更加友好。
其實(shí),不然。
以上只是 python在數(shù)據(jù)分析領(lǐng)域的小小冰山一角,python對數(shù)據(jù)的處理是異常靈活的。
只說一點(diǎn),數(shù)據(jù)量十萬量級的時(shí)候(日常的數(shù)據(jù)接觸也是萬級別起了),excel處理起來就比較費(fèi)事了,稍微操作一下會(huì)卡半天。
后續(xù)的畫圖/靈活性處理/建模,才是python的拿手好戲。
我的tableau public:yangliang的tableau public主頁