成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

效率驚人!三大相見恨晚的Pandas函數(shù)

大數(shù)據(jù)
在Pandas中,一些函數(shù)意義純粹,但也有一些函數(shù)指的是使用Pandas的方式,以及為什么一種方法比另一種更好。這兒有一些節(jié)省大量的時(shí)間和精力Pandas函數(shù)和使用方法,這些效率驚人的神器千萬不要錯(cuò)過。

本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)

數(shù)據(jù)科學(xué)領(lǐng)域如此之廣,鮮少有人能精通所有語言、數(shù)據(jù)庫,筆者盡管已經(jīng)從事了該行業(yè)數(shù)年之久,但仍然所知不多。學(xué)無止境,變得優(yōu)秀的方法就是不停下學(xué)習(xí)的腳步。

在Pandas中,一些函數(shù)意義純粹,但也有一些函數(shù)指的是使用Pandas的方式,以及為什么一種方法比另一種更好。這兒有一些節(jié)省大量的時(shí)間和精力Pandas函數(shù)和使用方法,這些效率驚人的神器千萬不要錯(cuò)過。

[[324737]]

itertuples()

確實(shí),它并不是純粹的函數(shù),而是指使用Pandas的更有效方法,是循環(huán)訪問數(shù)據(jù)集的快捷方法。在花時(shí)間理解注釋部分之前,可以用更有效的方法計(jì)算總列值,在此筆者僅提出一些要點(diǎn)。

下面是一列簡(jiǎn)單數(shù)據(jù)集,數(shù)字范圍為1到1百萬。

  1. df =pd.DataFrame(data={ 
  2.    'Number': range(1, 1000000) 
  3. }) 

這是前幾行的示例:

效率驚人!三大相見恨晚的Pandas函數(shù)

現(xiàn)在列舉一個(gè)錯(cuò)誤的方式。輸入一個(gè)總計(jì)變量并將其設(shè)置為0. 然后,通過使用iterrows()循環(huán)訪問數(shù)據(jù)集,并在total的基礎(chǔ)上增加當(dāng)前行的值,與此同時(shí)統(tǒng)計(jì)操作時(shí)間。以下是代碼:

  1. %%timetotal0for _, row in df.iterrows(): 
  2.     total += row['Number'] 
  3.   
  4. total>>> Wall time: 18.7 s 

這項(xiàng)小小的操作歷時(shí)將近19秒,而現(xiàn)在有一個(gè)更快捷的方法,與上述操作大致相同,但要加iteruples 而不是 iterrows:

  1. %%timetotal0for row in df.itertuples(index=False): 
  2.     total += row.Number 
  3.   
  4. total>>> Wall time: 82.1 ms 

筆者沒有計(jì)算時(shí)間,但可以看到操作速度提高非常明顯。下次執(zhí)行循環(huán)時(shí)請(qǐng)記住這一點(diǎn)。

nlargest()和nsmallest()

筆者計(jì)算了兩個(gè)緯度/經(jīng)度對(duì)之間的距離(以公里為單位)。那是第一步操作,第二步是選擇距離最小的前N條記錄。

輸入-nsmallest()。nlargest()將返回N個(gè)最大值,而nsmallest()將恰好相反。

看看它的實(shí)際結(jié)果。在實(shí)際操作中,筆者準(zhǔn)備了一個(gè)小的數(shù)據(jù)集:

  1. df =pd.DataFrame(data={ 
  2.     'Name': ['Bob', 'Mark', 'Josh','Anna', 'Peter', 'Dexter'], 
  3.     'Points': [37, 91, 66, 42, 99, 81] 
  4. }) 

結(jié)果如下:

效率驚人!三大相見恨晚的Pandas函數(shù)

現(xiàn)在該數(shù)據(jù)集不是僅僅6行,而是包含了6000行,為了找到表現(xiàn)最好的學(xué)生,即分?jǐn)?shù)最高,一種方法是這樣的:

  1. df['Points'].nlargest(3) 

但這不是最佳解決方案,它會(huì)導(dǎo)致以下結(jié)果,沒有清楚顯示真實(shí)姓名:

改善方法如下:

  1. df.nlargest(3,columns='Points'

怎么樣,是不是看起來更棒了:

效率驚人!三大相見恨晚的Pandas函數(shù)

以幾乎相同的操作來找到3個(gè)表現(xiàn)最差的學(xué)生-使用nsmallest()功能:

  1. df.nsmallest(3,columns='Points'

輸出結(jié)果如下:

效率驚人!三大相見恨晚的Pandas函數(shù)

cut()

這一部分將繼續(xù)使用上一部分中的數(shù)據(jù)集,來回顧一下:

  1. df =pd.DataFrame(data={ 
  2.     'Name': ['Bob', 'Mark', 'Josh','Anna', 'Peter', 'Dexter'], 
  3.     'Points': [37, 91, 66, 42, 99, 81] 
  4. }) 

效率驚人!三大相見恨晚的Pandas函數(shù)

cut()函數(shù)的基本原理是將值分為不同的區(qū)間。下面是最簡(jiǎn)單的示例,將從Points屬性創(chuàng)建兩個(gè)容器:

  1. pd.cut(df['Points'],bins=2

效率驚人!三大相見恨晚的Pandas函數(shù)

現(xiàn)在還看不出效果。但是如何輸入從0到50的區(qū)間,以及第二個(gè)從50到100的區(qū)間呢?聽起來有點(diǎn)麻煩。以下為代碼:

  1. pd.cut(df['Points'],bins=[0, 50, 100]) 

效率驚人!三大相見恨晚的Pandas函數(shù)

但是需要注意的是,您要顯示的是Fail而不是(0,50],要顯示Pass而不是(50,100]。你需要這樣做:

  1. pd.cut(df['Points'],bins=[0, 50, 100], labels=['Fail', 'Pass']) 

效率驚人!三大相見恨晚的Pandas函數(shù)

對(duì)于剛?cè)腴T的程序員,這些功能將有助于節(jié)省時(shí)間和精力;如果你是資深程序員,本文或許能幫你加強(qiáng)對(duì)這些函數(shù)的了解,避免每次都得從頭開始捋,因?yàn)檫@樣毫無意義。

 

責(zé)任編輯:趙寧寧 來源: 讀芯術(shù)
相關(guān)推薦

2021-04-14 09:22:18

Python技巧交換變量值

2020-04-01 14:16:05

Pandastips數(shù)據(jù)分析

2021-09-28 14:40:03

Python內(nèi)置庫itertools

2024-01-29 00:51:39

前端開發(fā)利器

2017-06-01 09:34:55

R語言包sqldf

2021-08-19 15:02:32

科技軟件電腦

2015-10-27 10:12:21

r語言命令相見恨晚

2025-03-24 01:00:00

2018-01-25 14:53:20

iPhone技巧刪除照片

2019-08-09 14:13:22

Python知乎程序員

2009-02-20 13:12:23

unixSolaris初學(xué)者

2015-07-14 14:09:56

2020-05-07 09:02:55

代碼Python開發(fā)

2016-12-09 12:50:36

Android

2019-02-12 11:22:29

Linux 系統(tǒng) 命令

2023-08-02 20:04:47

2018-02-07 14:54:17

Riverbed應(yīng)用性能管理數(shù)字體驗(yàn)

2021-08-20 15:43:54

iPhone手機(jī)iOS

2024-08-22 08:57:32

Python技巧參數(shù)

2021-04-20 10:47:59

手機(jī)APP科技
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩在线精品 | 91精品在线播放 | 午夜精品久久久久久 | 欧美专区在线 | 精品美女在线观看视频在线观看 | 日本一二三区电影 | 国产精品一区在线 | 日本精品一区二区三区在线观看视频 | 久久久久9999亚洲精品 | 日韩精品成人网 | av在线一区二区三区 | 中文字幕一区二区三区四区五区 | 久久综合一区二区 | 成人精品在线视频 | 国产精品亚洲视频 | 色综合天天网 | 亚洲一区二区精品视频在线观看 | 日韩在线观看一区 | 久久综合狠狠综合久久 | 久久精品久久久久久 | 欧美专区在线观看 | 二区国产 | 新疆少妇videos高潮 | 亚洲欧美综合网 | 国产一区免费 | 久久久成人免费一区二区 | 国产毛片毛片 | 久久一起草 | 国产精品一区二区无线 | 99热首页 | 久久亚洲美女 | 午夜欧美 | 亚洲天堂中文字幕 | 草在线 | 免费同性女女aaa免费网站 | 日本一道本视频 | 久久天堂 | 亚洲国产精品久久人人爱 | 中文字幕在线电影观看 | 精品免费国产一区二区三区四区介绍 | 亚洲免费在线视频 |