中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

去重計數有哪些實現方式

發布時間:2021-06-15 15:03:32 來源:億速云 閱讀:217 作者:chen 欄目:編程語言

這篇文章主要講解了“去重計數有哪些實現方式”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“去重計數有哪些實現方式”吧!

這是一個關于 pandas 從基礎到進階的練習題系列,來源于 github 上的 guipsamora/pandas_exercises  。這個項目從基礎到進階,可以檢驗你有多么了解 pandas。

我會挑選一些題目,并且提供比原題庫更多的解決方法以及更詳盡的解析。

如下數據:

去重計數有哪些實現方式

數據描述:

  • 此數據是訂單明細表。一個訂單會包含很多明細項,表中每個樣本(每一行)表示一個明細項

  • order_id 列存在重復

  • quantity 是明細項數量

需求:數據中共有多少個訂單?

下面是答案了

方式1

因為 order_id 列是存在重復的,那么一種比較直觀的方式就是去重+計數:

len(df.order_id.drop_duplicates()) 1834
  • Series.drop_duplicates() 返回的仍然是一個 Series

  • len 函數可以計算 Series 值數量

但是你可能不知道的是,這個方式是不準確的!

方式2

之所以說上一種方式是不準確,是因為沒有考慮到空值的問題。

len 函數不會忽略空值(nan) ,因此如果列中有空值,那么就比正確結果數量多。

正確的做法是:

len(df.order_id.drop_duplicates().dropna())
  • 使用 Series.dropna() 方法可以去掉 nan 值

提示:

即使列中有多個 nan ,經過去重后只會保留一個 nan 值

方式3

實際上,pandas 本身有提供一個忽略 nan 的計數方法:

df.order_id.drop_duplicates().count()

點評:

這種方式個人認為最合適

方式4

pandas 為列(Series)提供了一個快速匯總計數方法:

df.order_id.value_counts()

去重計數有哪些實現方式

  • Series.value_counts() 相當于 根據 order id 分組,統計數量。并且排除 nan

這相當于實現了去重,因此:

df.order_id.value_counts().count()

感謝各位的閱讀,以上就是“去重計數有哪些實現方式”的內容了,經過本文的學習后,相信大家對去重計數有哪些實現方式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浦江县| 光泽县| 黄梅县| 柳林县| 和顺县| 扎赉特旗| 浙江省| 丽水市| 西贡区| 安岳县| 凭祥市| 河北省| 云龙县| 连云港市| 紫云| 浠水县| 裕民县| 静乐县| 古浪县| 额尔古纳市| 阿拉尔市| 崇义县| 元谋县| 大同市| 诏安县| 大渡口区| 顺义区| 康平县| 宁阳县| 磐石市| 开化县| 克拉玛依市| 舟曲县| 新安县| 南汇区| 湟源县| 襄樊市| 乾安县| 靖州| 临清市| 丰都县|