基于DataFrame篩選數(shù)據(jù)與loc的用法詳解
DataFrame篩選數(shù)據(jù)與loc用法
python中pandas下的DataFrame是一個(gè)很不錯(cuò)的數(shù)據(jù)結(jié)構(gòu),附帶了許多操作、運(yùn)算、統(tǒng)計(jì)等功能。
如何從一個(gè)DataFrame中篩選中出一個(gè)元素呢。
以tushare返回的交易日信息為例。
df = ts.trade_cal()
數(shù)據(jù)如下:
calendarDate isOpen 0 1990/12/19 1 1 1990/12/20 1 2 1990/12/21 1 3 1990/12/22 0 4 1990/12/23 0 5 1990/12/24 1 6 1990/12/25 1 7 1990/12/26 1 8 1990/12/27 1 9 1990/12/28 1 10 1990/12/29 0 11 1990/12/30 0 12 1990/12/31 1 13 1991/1/1 0 14 1991/1/2 1 15 1991/1/3 1 16 1991/1/4 1 17 1991/1/5 0 18 1991/1/6 0 19 1991/1/7 1 20 1991/1/8 1 21 1991/1/9 1 22 1991/1/10 1 23 1991/1/11 1 24 1991/1/12 0 25 1991/1/13 0 26 1991/1/14 1 27 1991/1/15 1 28 1991/1/16 1 29 1991/1/17 1 ... ... ... 9845 2017/12/02 0 9846 2017/12/03 0 9847 2017/12/04 1 9848 2017/12/05 1 9849 2017/12/06 1 9850 2017/12/07 1 9851 2017/12/08 1 9852 2017/12/09 0 9853 2017/12/10 0 9854 2017/12/11 1 9855 2017/12/12 1 9856 2017/12/13 1 9857 2017/12/14 1 9858 2017/12/15 1 9859 2017/12/16 0 9860 2017/12/17 0 9861 2017/12/18 1 9862 2017/12/19 1 9863 2017/12/20 1 9864 2017/12/21 1 9865 2017/12/22 1 9866 2017/12/23 0 9867 2017/12/24 0 9868 2017/12/25 1 9869 2017/12/26 1 9870 2017/12/27 1 9871 2017/12/28 1 9872 2017/12/29 1 9873 2017/12/30 0 9874 2017/12/31 0
如何取出某個(gè)日期的信息呢。例如年底了,想知道除夕前最后一個(gè)交易日是哪天。此處使用篩選功能。
df[df.calendarDate=="2017/12/31"]
輸出如下:
>>> df[df.calendarDate=="2017/12/31"] calendarDate isOpen 9874 2017/12/31 0 >>> df[df.icol(0)=="2017/12/11"] __main__:1: FutureWarning: icol(i) is deprecated. Please use .iloc[:,i] calendarDate isOpen 9854 2017/12/11 1
注意一定要寫上雙等號(hào)一定要寫上雙等號(hào)一定要寫上雙等號(hào)。重要的事情說3遍。。。
因?yàn)槿绻菃蔚忍?hào),會(huì)報(bào)語法異常的。。。
loc函數(shù)
關(guān)于loc這個(gè)坑爹的函數(shù)的用法,咋說呢,不要被他的”純以標(biāo)簽名來進(jìn)行索引”迷惑了。因?yàn)槿绻憬oLoc中的第一個(gè)參數(shù)一個(gè)str的話,極有可能返回的是一個(gè)異常,說不在index中。 。。。。
坑爹。。。。
這個(gè)loc的用法不是根據(jù)某個(gè)位置內(nèi)容篩選的含義,仍然是對(duì)行、對(duì)列的一種篩選。比如你某行的索引自己設(shè)置標(biāo)簽啥的。。很讓人一頭霧水的設(shè)計(jì)。跟ix就是重復(fù)的。。。。
大多數(shù)情況下的應(yīng)用場(chǎng)景就是還是用數(shù)字取行,用str取列。
比如loc[0:3,[“a”,”b”]]。取0到第3行(左閉右開,非整型值時(shí)左閉右閉。。。),”a”列與”b”列。
以上這篇基于DataFrame篩選數(shù)據(jù)與loc的用法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch張量和numpy數(shù)組相互轉(zhuǎn)換
在使用pytorch作為深度學(xué)習(xí)的框架時(shí),經(jīng)常會(huì)遇到張量tensor和矩陣numpy的類型的相互轉(zhuǎn)化的問題,本文主要介紹了pytorch張量和numpy數(shù)組相互轉(zhuǎn)換,感興趣的可以了解一下2024-02-02YOLOv5構(gòu)建安全帽檢測(cè)和識(shí)別系統(tǒng)使用詳解
這篇文章主要為大家介紹了YOLOv5構(gòu)建安全帽檢測(cè)和識(shí)別系統(tǒng)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04python輸入整條數(shù)據(jù)分割存入數(shù)組的方法
今天小編就為大家分享一篇python輸入整條數(shù)據(jù)分割存入數(shù)組的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11python數(shù)組排序方法之sort、sorted和argsort詳解
這篇文章主要給大家介紹了關(guān)于python數(shù)組排序方法之sort、sorted和argsort的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法
本文主要介紹了Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08Django 添加靜態(tài)文件的兩種實(shí)現(xiàn)方法(必看篇)
下面小編就為大家?guī)硪黄狣jango 添加靜態(tài)文件的兩種實(shí)現(xiàn)方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07