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?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法
Excel文件是傳統(tǒng)的數(shù)據(jù)格式,但面對(duì)海量數(shù)據(jù)時(shí),用編程的方法來(lái)處理數(shù)據(jù)更有優(yōu)勢(shì),下面這篇文章主要給大家介紹了關(guān)于Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法,需要的朋友可以參考下
Pandas庫(kù)中iloc[]函數(shù)的使用方法
在數(shù)據(jù)分析過(guò)程中,很多時(shí)候需要從數(shù)據(jù)表中提取出相應(yīng)的數(shù)據(jù),而這么做的前提是需要先“索引”出這一部分?jǐn)?shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas庫(kù)中iloc[]函數(shù)的使用方法,需要的朋友可以參考下2023-01-01
python和Appium移動(dòng)端多設(shè)備自動(dòng)化測(cè)試框架實(shí)現(xiàn)
這篇文章主要介紹了python和Appium移動(dòng)端多設(shè)備自動(dòng)化測(cè)試框架實(shí)現(xiàn),基于pytest和Appium框架,支持Android和iOS功能自動(dòng)化的測(cè)試框架的相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-04-04
使用Python處理json字符串中的非法雙引號(hào)問(wèn)題
這篇文章主要介紹了使用Python處理json字符串中的非法雙引號(hào)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Python+requests+unittest執(zhí)行接口自動(dòng)化測(cè)試詳情
這篇文章主要介紹了Python+requests+unittest執(zhí)行接口自動(dòng)化測(cè)試詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
一步步講解利用Flask開(kāi)發(fā)一個(gè)Web程序
這篇文章主要介紹了使用Flask框架在Linux系統(tǒng)上開(kāi)發(fā)一個(gè)簡(jiǎn)單的WatchList?Web程序的過(guò)程,包括了實(shí)現(xiàn)的詳細(xì)步驟,最終實(shí)現(xiàn)了一個(gè)包含登錄界面的Web程序,需要的朋友可以參考下2025-02-02

