日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pandas 第一行_用Excel表格带你学习pandas最核心的处理操作,不再害怕条件统计

發布時間:2024/7/23 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pandas 第一行_用Excel表格带你学习pandas最核心的处理操作,不再害怕条件统计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd

轉發本文并私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)

經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。后來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas

前言

上一節我們重點介紹了針對文本條件的統計方式,這次來把數值相關的講解一下,并且用一個 Excel 操作思維帶你理解 pandas 的運算邏輯。

繼續使用泰坦尼克號沉船事件的乘客名單作為例子:

  • pclass:船艙等級
  • survived:是否生還
  • fare:票價
  • sex:性別
  • home.dest:住址

如果你看過上一節文章,想必應該理解到,在 pandas 中,不管是數值或是文本的條件統計,本質都是構造條件 bool 列,之后的處理是一樣的。

廢話少說,直接看各種復雜需求!


案例1:簡單需求

"30歲以上的人數"

先看看 Excel 函數公式的做法:

  • 簡單使用 countifs 即可
  • 注意,第二個參數使用文本(雙引號包圍),主要是因為需要使用 大于號。這使得函數公式的語義更好

pandas 中數值條件也很非常容易表達:

  • 行1:df.age >30 構造出"年齡大于30"的 bool 列

與 Excel之間的關系

你會發現,其實 pandas 中的運算操作,與 Excel 函數公式的運算是非常相似(數組公式更相似),pandas 的操作就像你在第一行寫了一個處理邏輯公式,他就自動為你把邏輯公式復制一整列。

不知道我說啥?看看下面的 Excel 操作演示,來實現"30歲以上的人數":

代碼 df.age >30 相當于如下操作:

  • pandas 代碼, df.age >30 ,構造出條件 bool 列,過程如上
  • 在數據旁邊新增一列,直接執行 C2 單元格是否大于30,結果是一個 bool 值
  • 由于 pandas 代碼是直接指定 年齡 列是否大于30,因此相當于自動把 E2 單元格的公式復制下去

此時,代碼 df[cond] ,相當于如下操作:

  • df[cond] 相當于 df[df.age > 30]
  • 相當于在輔助列上做篩選,把 true 值的行篩選出來!
  • 所以你會發現,如果只是執行 df[cond] ,得到的是那些年齡大于30的行

如果你熟悉 Excel 的功能,你可能會說:"這不就是智能表格?!"

是的,智能表格更能體現,如下:

  • 創建表格
  • 在表格旁邊輸入公式
  • 注意此時公式中的引用不是單元格地址,而是直接以列名顯示
  • 這個地方與 pandas 非常相似,這是因為他們都是在表達,你在操作一個有結構的表格

當你按下回車,公式自動填充:


其他各種需求

當你理解了上面的思路,那么只要你熟悉 pandas 各種構造 bool 列的技巧,各種需求基本難不倒你。

"30歲以上 男女的人數":

一個個寫,太麻煩了,直接條件篩選,分組統計:


"男女高于各自性別的平均年齡的人數"

  • 有沒有發現男性的人數與之前需求的人數很接近?因為剛好男性的平均年齡在30歲左右

當然,還是可以直接分組統計的:


"男女各自年齡最小的人的資料":

  • 他們都在 S 港口上船,同是三等艙
  • 女生獲救了,男生遇難了

"男女各自年齡最大的人的資料":

  • 他們都是在 S 港口上船,同是一等艙
  • 他們都獲救了
  • 一等艙可能更靠近甲板,逃生更容易

最后來一個復雜一點的需求。

"看看各個年齡段,男女的生還情況":

  • 簡單讓 pandas 按數據中的年齡,平均劃分成4段
  • 大概可以看出,男性的生還率低于女性,特別是20到40歲這個年齡段
  • 更多針對泰坦尼克號沉船事件數據的詳細分析,可以查看 公眾號中:數據大宇宙 > 數據分析 > 探索分析 系列文章

關于透視表和數據分段,請查看 pandas 專欄 [帶你玩轉Python數據處理—pandas] 相關文章

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的pandas 第一行_用Excel表格带你学习pandas最核心的处理操作,不再害怕条件统计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。