python iloc和loc切片的實(shí)現(xiàn)
一、含正負(fù)號(hào)的下標(biāo)

正下標(biāo)從0開(kāi)始,負(fù)下標(biāo)從-1開(kāi)始1。切片的時(shí)候包括頭不包括尾部。








二、loc和iloc
loc是指location的意思,iloc中的i是指integer。
【1】iloc:根據(jù)標(biāo)簽的所在位置,從0開(kāi)始計(jì)數(shù),先選取行再選取列
【2】loc:根據(jù)DataFrame的具體標(biāo)簽選取行列,同樣是先行標(biāo)簽,后列標(biāo)簽

由上圖可以看出:iloc[:4,2]和loc[:4,2]是不一樣的,前者不包括4,后者包括4
lypdfdata=lypdf.iloc[:,1:-1].values lypdftarget=lypdf.iloc[:,:-1].values # 逗號(hào)前面是屬于行,后面是屬于列



1. 利用loc、iloc提取行數(shù)據(jù)
import numpy as np
import pandas as pd
#創(chuàng)建一個(gè)Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
In[1]: data
Out[1]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
#取索引為'a'的行
In[2]: data.loc['a']
Out[2]:
A 0
B 1
C 2
D 3
#取第一行數(shù)據(jù),索引為'a'的行就是第一行,所以結(jié)果相同
In[3]: data.iloc[0]
Out[3]:
A 0
B 1
C 2
D 3
2. 利用loc、iloc提取列數(shù)據(jù)
In[4]:data.loc[:,['A']] #取'A'列所有行,多取幾列格式為 data.loc[:,['A','B']]
Out[4]:
A
a 0
b 4
c 8
d 12
In[5]:data.iloc[:,[0]] #取第0列所有行,多取幾列格式為 data.iloc[:,[0,1]]
Out[5]:
A
a 0
b 4
c 8
d 12
3.利用loc、iloc提取指定行、指定列數(shù)據(jù)
In[6]:data.loc[['a','b'],['A','B']] #提取index為'a','b',列名為'A','B'中的數(shù)據(jù) Out[6]: A B a 0 1 b 4 5 In[7]:data.iloc[[0,1],[0,1]] #提取第0、1行,第0、1列中的數(shù)據(jù) Out[7]: A B a 0 1 b 4 5
4.利用loc、iloc提取所有數(shù)據(jù)
In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
5.利用loc函數(shù),根據(jù)某個(gè)數(shù)據(jù)來(lái)提取數(shù)據(jù)所在的行
In[10]: data.loc[data['A']==0] #提取data數(shù)據(jù)(篩選條件: A列中數(shù)字為0所在的行數(shù)據(jù)) Out[10]: A B C D a 0 1 2 3 In[11]: data.loc[(data['A']==0)&(data['B']==2)] #提取data數(shù)據(jù)(多個(gè)篩選條件) Out[11]: A B C D a 0 1 2 3
到此這篇關(guān)于python iloc和loc切片的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python iloc和loc切片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的__builtin__模塊中的一些要點(diǎn)知識(shí)
這篇文章主要介紹了Python的__builtin__模塊中的一些要點(diǎn)知識(shí),是Python學(xué)習(xí)中的基礎(chǔ),需要的朋友可以參考下2015-05-05
linux環(huán)境下安裝pyramid和新建項(xiàng)目的步驟
這篇文章簡(jiǎn)單介紹了linux環(huán)境下安裝pyramid和新建項(xiàng)目的步驟,大家參考使用2013-11-11
python爬取王者榮耀全皮膚的簡(jiǎn)單實(shí)現(xiàn)代碼
在本篇文章里小編給大家分享的是一篇關(guān)于16行python代碼 爬取王者榮耀全皮膚的知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2020-01-01
pytorch實(shí)現(xiàn)onehot編碼轉(zhuǎn)為普通label標(biāo)簽
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)onehot編碼轉(zhuǎn)為普通label標(biāo)簽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python OpenCV對(duì)圖像進(jìn)行模糊處理詳解流程
OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面很多通用算法2021-10-10
基于Python制作flappybird游戲的詳細(xì)步驟
python中pygame模塊能讓我們很方便的編寫(xiě)游戲,下面這篇文章主要給大家介紹了關(guān)于如何基于Python制作flappybird游戲的詳細(xì)步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
python實(shí)現(xiàn)簡(jiǎn)單點(diǎn)對(duì)點(diǎn)(p2p)聊天
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單點(diǎn)對(duì)點(diǎn)p2p聊天,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
基于python實(shí)現(xiàn)銀行管理系統(tǒng)
這篇文章主要介紹了基于python實(shí)現(xiàn)銀行管理系統(tǒng),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python項(xiàng)目制作的小伙伴們有很好的幫助,需要的朋友可以參考下2021-04-04
python opencv實(shí)現(xiàn)直線檢測(cè)并測(cè)出傾斜角度(附源碼+注釋)
這篇文章主要介紹了python opencv實(shí)現(xiàn)直線檢測(cè)并測(cè)出傾斜角度(附源碼+注釋),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

