日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python庫Pandas《Pandas Cookbook》第04章 選取數據

系統 1845 0

這是書籍《Pandas Cookbook》書籍第04章的代碼復現,所有代碼運行在Jupyter Notebook上,原講解地址是:
https://www.jianshu.com/p/bd0bc1b5b4b6
我上傳代碼的github地址是:
https://github.com/Asunqingwen/PandasCookbook.git
github上有該書中用到的data,里面代碼會不定期更新(因為工作原因,時間不定),直到本書學習完成!
相比原講解,會穿插一些自己的理解,水平有限,請各路大神指正。

文章目錄

  • 1.選取Series數據
  • 2.選取DataFrame的行
  • 3.同時選取DataFrame的行和列
  • 4.用整數和標簽選取數據
  • 5.快速選取標量
  • 6.惰性行切片
  • 7.按照字母切片

1.選取Series數據

這段和第01章中Series的獲取有點類似,主要是通過index和column_name進行行和列的選取,選取操作用到了iloc和loc函數——前者用整數或整數列表表示,后者用index或index的列表表示
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第1張圖片

或者直接用類似Python方法的dict和list切片用法,還可以像list那樣反向切片
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第2張圖片

2.選取DataFrame的行

個人認為,這部分和第1部分講的內容是一樣的,都是通過iloc和loc函數選取DataFrame的行
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第3張圖片

3.同時選取DataFrame的行和列

這部分相對于之前的兩部分,也就是在iloc和loc上使用的參數變為了二維的,所以可以同時選取行和列
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第4張圖片

4.用整數和標簽選取數據

用整數和index結合column_name選取行和列,只是column_name對應的列數來源于get_loc(),index來源于index屬性
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第5張圖片

5.快速選取標量

當我們指定index和column_name,那么就會獲取唯一的值,也可以叫標量。可以用loc和iloc,也可以用獲取標量的專有函數at和iat。
這部分最有趣的地方是用到了一個Python中的魔法函數——%timeit,這個函數會自動運行其后的語句多次,以計算平均運行時間,區別于%time,只計算當前運行一次的時間

Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第6張圖片

6.惰性行切片

網上找了找,只有Python的generator部分有惰性的說法,即next()的時候才會開始計算下一個值,這里的惰性切片,我的理解就是——定義好合適的start,stop,step,一個接一個輸出來,不用調用iloc或loc,內部實現可能就是基于generator的。
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第7張圖片

但是這樣的惰性切片操作不適用于列,對于列只能用iloc和loc
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第8張圖片

7.按照字母切片

這部分感覺有點意思,用26個英文字母的順序來進行切片,所以很明顯得先基于索引排序,這樣才使得索引列具有順序意義,那么就能進行切片了,因為不排序,直接切片會產生如下錯誤:
ValueError: index must be monotonic increasing or decreasing
字面意思就是index必須單調遞增或遞減

Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第9張圖片

排序后,index符合要求,就可以切片了,其中涉及到了兩個檢查字母排序順序的屬性,s_monotonic_increasing()和is_monotonic_decreasing,顧名思義,就是是否單調遞增或單調遞減
Python庫Pandas《Pandas Cookbook》第04章 選取數據子集_第10張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 平和县| 广河县| 华坪县| 修文县| 且末县| 河北区| 个旧市| 万载县| 准格尔旗| 拉萨市| 谷城县| 奉化市| 托克托县| 沅江市| 吉木乃县| 瑞昌市| 江源县| 普安县| 沙河市| 永顺县| 元阳县| 神池县| 淄博市| 平利县| 萝北县| 罗山县| 比如县| 江达县| 蓝田县| 华阴市| 三台县| 乐至县| 东源县| 尼玛县| 汶上县| 保德县| 那坡县| 吴旗县| 定陶县| 阿巴嘎旗| 射阳县|