熱線電話:13121318867

登錄
首頁精彩閱讀Python數據分析實戰基礎(一):初識Pandas
Python數據分析實戰基礎(一):初識Pandas
2019-10-11
收藏
Python數據分析實戰基礎(一):初識Pandas

作者 | 吹牛Z

來源 | 數據不吹牛

據某數據來源統計,學習了Pandas的同學,有超過60%仍然投向了Excel的懷抱,之所以做此下策,多半是因為剛開始用Python處理數據時,選擇想要的行和列實在太痛苦,完全沒有Excel想要哪里點哪里的快感。

初識Pandas最基礎的列向索引在這里就不多加介紹了,今天我們給大家介紹的是,結合場景詳細介紹兩種常用的索引方式:

  • 第一種是基于位置(整數)的索引,案例短平快,有個粗略的了解即可,實際中偶有用到,但它的應用范圍不如第二種廣泛。
  • 第二種是基于名稱(標簽)的索引,這是要敲黑板練的重點,因為它將是我們后面進行數據清洗和分析的重要基石。

首先,簡單介紹一下練習的案例數據:

Python數據分析實戰基礎(一):初識Pandas

和第一篇數據集一樣,記錄著不同流量來源下,各渠道來源明細所對應的訪客數、支付轉化率和客單價。數據集雖然簡短(復雜的案例數據集在基礎篇完結后會如約而至),但是有足夠的代表性,下面開始我們索引的表演。

Python數據分析實戰基礎(一):初識Pandas

01 基于位置(數字)的索引

先看一下索引的操作方式:

Python數據分析實戰基礎(一):初識Pandas

我們需要根據實際情況,填入對應的行參數和列參數。

場景一(行選?。?/span>

目標:選擇“流量來源”等于“一級”的所有行。

思路:手指戳屏幕數一數,一級的渠道,是從第1行到第13行,對應行索引是0-12,但Python切片默認是含首不含尾的,要想選取0-12的索引行,我們得輸入“0:13”,列想要全部選取,則輸入冒號“:”即可。

Python數據分析實戰基礎(一):初識Pandas

場景二(列選?。?/span>

目標:我們想要把所有渠道的流量來源和客單價單拎出來看一看。

思路:所有流量渠道,也就是所有行,在第一個行參數的位置我們輸入“:”;再看列,流量來源是第1列,客單價是第5列,對應的列索引分別是0和4:

Python數據分析實戰基礎(一):初識Pandas

值得注意的是,如果我們要跨列選取,得先把位置參數構造成列表形式,這里就是[0,4],如果是連續選取,則無需構造成列表,直接輸入0:5(選取索引為0的列到索引為4的列)就好。

場景三(行列交叉選?。?/span>

目標:我們想要看一看二級、三級流量來源、來源明細對應的訪客和支付轉化率

思路:先看行,二級三級渠道對應行索引是13:17,再次強調索引含首不含尾的原則,我們傳入的行參數是13:18;列的話我們需要流量來源、來源明細、訪客和轉化,也就是前4列,傳入參數0:4。

Python數據分析實戰基礎(一):初識Pandas

02 基于名稱(標簽)的索引

為了建立起橫向對比的體感,我們依然沿用上面三個場景。

場景一:選擇一級渠道的所有行。

思路:這次我們不用一個個數位置了,要篩選流量渠道為"一級"的所有行,只需做一個判斷,判斷流量來源這一列,哪些值等于"一級"。

Python數據分析實戰基礎(一):初識Pandas

返回的結果由True和False(布爾型)構成,在這個例子中分別代表結果等于一級和非一級。在loc方法中,我們可以把這一列判斷得到的值傳入行參數位置,Pandas會默認返回結果為True的行(這里是索引從0到12的行),而丟掉結果為False的行,直接上例子:

Python數據分析實戰基礎(一):初識Pandas

場景二:我們想要把所有渠道的流量來源和客單價單拎出來看一看。

思路:所有渠道等于所有行,我們在行參數位置直接輸入“:”,要提取流量來源和客單價列,直接輸入名稱到列參數位置,由于這里涉及到兩列,所以得用列表包起來:

Python數據分析實戰基礎(一):初識Pandas

場景三:我們想要提取二級、三級流量來源、來源明細對應的訪客和支付轉化率。

思路:行提取用判斷,列提取輸入具體名稱參數。

Python數據分析實戰基礎(一):初識Pandas

此處插播一條isin函數的廣告,這個函數能夠幫助我們快速判斷源數據中某一列(Series)的值是否等于列表中的值。拿案例來說,df['流量來源'].isin(['二級','三級']),判斷的是流量來源這一列的值,是否等于“二級”或者“三級”,如果等于(等于任意一個)就返回True,否則返回False。我們再把這個布爾型判斷結果傳入行參數,就能夠很容易的得到流量來源等于二級或者三級的渠道。

既然loc的應用場景更加廣泛,應該給他加個雞腿,再來個接地氣的場景練練手。

插入場景之前,我們先花30秒的時間捋一捋Pandas中列(Series)向求值的用法,具體操作如下:

Python數據分析實戰基礎(一):初識Pandas

只需要加個尾巴,均值、標準差等統計數值就出來了,了解完這個,下面正式進入場景四。

場景四:對于流量渠道數據,我們真正應該關注的是優質渠道,假如這里我們定義訪客數、轉化率、客單價都高于平均值渠道是優質渠道,那怎么找到這些渠道呢?

思路:優質渠道,得同時滿足訪客、轉化、客單高于平均值這三個條件,這是解題的關鍵。

先看看均值各是多少:

Python數據分析實戰基礎(一):初識Pandas

再判斷各指標列是否大于均值:

Python數據分析實戰基礎(一):初識Pandas

要三個條件同時滿足,他們之間是一個“且”的關系(同時滿足),在pandas中,要表示同時滿足,各條件之間要用"&"符號連接,條件內部最好用括號區分;如果是“或”的關系(滿足一個即可),則用“|”符號連接:

Python數據分析實戰基礎(一):初識Pandas

這樣連接之后,返回True則表示該渠道同時滿足訪客、轉化率、客單價都高于均值的條件,接下來我們只需要把這些值傳入到行參數的位置。

Python數據分析實戰基礎(一):初識Pandas

到這一步,我們直接篩選出了4條關鍵指標都高于均值的優質渠道。

這兩種索引方式,分別是基于位置(數字)的索引和基于名稱(標簽)的索引,關鍵在于把腦海中想要選取的行和列,映射到對應的行參數與列參數中去。

只要稍加練習,我們就能夠隨心所欲的用pandas處理和分析數據,邁過了這一步之后,你會發現和Excel相比,Python是如此的美艷動人。

這是Python數據分析實戰基礎的第一篇內容,主要是和Pandas來個簡單的邂逅。已經熟練掌握Pandas的同學,可以加快手速滑動瀏覽或者直接略過本文。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢