国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用Python做數據分析:Pandas常用數據查詢語法

gghyoo / 638人閱讀

摘要:在使用之前,大多數數據分析師已經掌握了和,并且在剛上手時會經常習慣性想到老辦法。這種根據列值選取行數據的查詢操作,推薦使用方法。如果我又有一批數據,需要將兩部分數據合并。

大毛 豈安科技業務風險分析師
多年訂單業務反欺詐經驗,負責豈安科技多款產品運營工作。

在使用Pandas之前,大多數數據分析師已經掌握了Excel和SQL,并且在剛上手Pandas時會經常習慣性想到“老辦法”。"如果誰能把常用的數據查詢語法做個對比就好了 ",我也曾不止一次地想享受前人的成果,無奈發現網上的文章側重不同且深淺不一,還涉及到一些Pandas新老版本的問題,于是決定自己動手。

一、舉例的數據

假設我有個六列的dataframe:一列是銷售員,一列是所屬團隊,其它四列分別是四個季度的銷售額。

1新增列-基于原有列的全年銷售額

首先df["Total "]確保了你在該df內新增了一個column,然后累加便可。

df["Total"] = df["Q1"]+df["Q2"]+df["Q3"]+df["Q4"]

你可能想使用諸如sum()的函數進行這步,很可惜,sum()方法只能對列進行求和,幸好它可以幫我們求出某季度的總銷售額。df["Q1"].sum(),你就能得到一個Q1的總銷售額,除此之外,其他的聚合函數,max,min,mean都是可行的。

2分組統計 - 團隊競賽

那么按團隊進行統計呢?在mysql里是group by,Pandas里也不例外,你只需要df.groupby("Team").sum()就能看到期望的答案了。

3排序 - 誰是銷售冠軍

如果你關心誰的全年銷售額最多,那么就要求助于sort_values方法了,在excel內是右鍵篩選,SQL內是一個orderby。默認是順序排列的,所以要人為設定為False,如果你只想看第一名,只需要在該語句末尾添加.head(1) 。

5切片-只給我看我關心的行

接下來就是涉及一些條件值的問題,例如我只關心Team為A的數據,在Excel里是篩選框操作,在SQL里寫個where就能搞定,在Pandas里需要做切片。

查看Pandas文檔時,你可能已經見過各種切片的函數了,有loc,iloc,ix,iy,這里不會像教科書一樣所有都講一通讓讀者搞混。這種根據列值選取行數據的查詢操作,推薦使用loc方法。

df.loc[df["Team"]== "A",["Salesman", "Team","Year"]],這里用SQL語法理解更方便,loc內部逗號前面可以理解為where,逗號后可以理解為select的字段。

如果想全選出,那么只需將逗號連帶后面的東西刪除作為缺省,即可達到select *的效果。

6切片 - 多條件篩選

在Pandas中多條件切片的寫法會有些繁瑣,df.loc[ (df["Team"]== "A" ) & (df["Total"] > 15000 ) ],添加括號與條件符。

這里有一個有意思的小應用,如果你想給符合某些條件的員工打上優秀的標簽,你就可以結合上述新增列和切片兩點,進行條件賦值操作。

df.loc[ (df["Team"]== "A" ) & (df["Total"] > 15000 ) , "Tag"] = "Good"

7刪除列 - 和查詢無關,但是很有用

當然這里只是個舉例,這時候我想刪除Tag列,可以del df["Tag"],又回到了之前。

二、連接

接下來要講join了,現在有每小時銷售員的職位對應表pos,分為Junior和Senior,要將他們按對應關系查到df中。

這里需要認識一下新朋友,merge方法,將兩張表作為前兩個輸入,再定義連接方式和對應鍵。對應到Excel中是Vlookup,SQL中就是join。在pandas里的連接十分簡單。

df = pd.merge(df, pos, how="inner", on="Salesman")

注意,這個時候其實我們是得到了新的df,如果不想覆蓋掉原有的df,你可以在等號左邊對結果重新命名。

這時候有了兩組標簽列(對應數值列),就可以進行多重groupby了。

當然這樣的結果并不能公平地反應出哪一組更好,因為每組的組員人數不同,可能有平均數的參與會顯得更合理,并且我們只想依據全年綜合來評價。

這里的數據是捏造的,不過也一目了然了。

三、合并操作

最后以最簡單的一個合并操作收尾。

如果我又有一批數據df2,需要將兩部分數據合并。只需要使用concat方法,然后傳一個列表作為參數即可。不過前提是必須要保證他們具有相同類型的列,即使他們結構可能不同(df2的Team列在末尾,也不會影響concat結果,因為pandas具有自動對齊的功能)。

pd.concat([df,df2])

尾聲

以上就是一些基礎的Pandas數據查詢操作了。作為Pandas初學者,如果能善用類比遷移的方法進行學習并進行總結是大有裨益的。如果看完本文還沒有能了解到你關心的查詢方法,可以留言聯系,或許還可以有續集。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40958.html

相關文章

  • 這里有8個流行的Python可視化工具包,你喜歡哪個?

    摘要:下面,作者介紹了八種在中實現的可視化工具包,其中有些包還能用在其它語言中。當提到這些可視化工具時,我想到三個詞探索數據分析。還可以選擇樣式,它模擬了像和等很流行的美化工具。有很多數據可視化的包,但沒法說哪個是最好的。 showImg(https://segmentfault.com/img/remote/1460000019029121); 作者:Aaron Frederick 喜歡用...

    testbird 評論0 收藏0
  • python 數據分析pandas 的 excel 應初探

    摘要:今天要分享的是,用來寫。數據處理環節效率低下,易受干擾。問題排查難以溯源。一旦數據報告有誤,想要定位問題所在,常常需要從頭開始復盤。結果和上面結果結構是一致的。這是官網的文檔,但是卻不完全適用目前的場景。 大毛 豈安科技業務風險分析師 多年訂單業務反欺詐經驗,負責豈安科技多款產品運營工作。 上回筆者分享過一些 pandas 的常用數據查詢語法,但是數據查詢對于 pandas 而言只是冰...

    aervon 評論0 收藏0
  • python 數據分析pandas 的 excel 應初探

    摘要:今天要分享的是,用來寫。數據處理環節效率低下,易受干擾。問題排查難以溯源。一旦數據報告有誤,想要定位問題所在,常常需要從頭開始復盤。結果和上面結果結構是一致的。這是官網的文檔,但是卻不完全適用目前的場景。 大毛 豈安科技業務風險分析師 多年訂單業務反欺詐經驗,負責豈安科技多款產品運營工作。 上回筆者分享過一些 pandas 的常用數據查詢語法,但是數據查詢對于 pandas 而言只是冰...

    張憲坤 評論0 收藏0
  • 8個流行的Python可視化工具包,你更鐘意哪一個?

    摘要:最終證明,及其相關工具的效率很高,但就演示而言它們并不是最好的工具。我按編號用顏色編碼了每個節點,代碼如下用于可視化上面提到的稀疏圖形的代碼如下這個圖形非常稀疏,通過最大化每個集群的間隔展現了這種稀疏化。 showImg(http://upload-images.jianshu.io/upload_images/13825820-3a550fd2e61e1674.jpg?imageMo...

    iliyaku 評論0 收藏0

發表評論

0條評論

gghyoo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<