利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法總結(jié)
實(shí)際操作中我們經(jīng)常需要尋找數(shù)據(jù)的某行或者某列,這里介紹我在使用Pandas時(shí)用到的兩種方法:iloc和loc。
loc:通過(guò)行、列的名稱或標(biāo)簽來(lái)索引
iloc:通過(guò)行、列的索引位置來(lái)尋找數(shù)據(jù)
首先,我們先創(chuàng)建一個(gè)Dataframe,生成數(shù)據(jù),用于下面的演示
import pandas as pd import numpy as np # 生成DataFrame data = pd.DataFrame(np.arange(30).reshape((6,5)), columns=['A','B','C','D','E']) # 寫入本地 data.to_excel("D:\\實(shí)驗(yàn)數(shù)據(jù)\\data.xls", sheet_name="data") print(data)
1.loc方法
loc方法是通過(guò)行、列的名稱或者標(biāo)簽來(lái)尋找我們需要的值。
(1)讀取第二行的值
# 索引第二行的值,行標(biāo)簽是“1” data1 = data.loc[1]
結(jié)果:
備注: #下面兩種語(yǔ)法效果相同 data.loc[1] == data.loc[1,:]
(2)讀取第二列的值
# 讀取第二列全部值 data2 = data.loc[ : ,"B"]
結(jié)果:
(3)同時(shí)讀取某行某列
# 讀取第1行,第B列對(duì)應(yīng)的值 data3 = data.loc[ 1, "B"]
結(jié)果:
(4)讀取DataFrame的某個(gè)區(qū)域
# 讀取第1行到第3行,第B列到第D列這個(gè)區(qū)域內(nèi)的值 data4 = data.loc[ 1:3, "B":"D"]
結(jié)果:
(5)根據(jù)條件讀取
# 讀取第B列中大于6的值 data5 = data.loc[ data.B > 6] #等價(jià)于 data5 = data[data.B > 6]
結(jié)果:
(6)也可以進(jìn)行切片操作
# 進(jìn)行切片操作,選擇B,C,D,E四列區(qū)域內(nèi),B列大于6的值 data1 = data.loc[ data.B >6, ["B","C","D","E"]]
結(jié)果:
2.iloc方法
iloc方法是通過(guò)索引行、列的索引位置[index, columns]來(lái)尋找值
(1)讀取第二行的值
# 讀取第二行的值,與loc方法一樣 data1 = data.iloc[1] # data1 = data.iloc[1, :],效果與上面相同
結(jié)果:
(2)讀取第二列的值
# 讀取第二列的值 data1 = data.iloc[:, 1]
結(jié)果:
(3)同時(shí)讀取某行某列
# 讀取第二行,第二列的值 data1 = data.iloc[1, 1]
結(jié)果:
(4)進(jìn)行切片操作
# 按index和columns進(jìn)行切片操作 # 讀取第2、3行,第3、4列 data1 = data.iloc[1:3, 2:4]
結(jié)果:
注意:
這里的區(qū)間是左閉右開(kāi),data.iloc[1:3, 2:4]中的第4行、第5列取不到
補(bǔ)充:利用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
利用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
總結(jié)
到此這篇關(guān)于利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法的文章就介紹到這了,更多相關(guān)Pandas讀取列行數(shù)據(jù)之loc和iloc內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用fliecmp實(shí)現(xiàn)比較文件的操作
對(duì)于文件的比較一般有幾種,比如比較文件的內(nèi)容,比較文件的大小,或者直接對(duì)比整個(gè)項(xiàng)目文件,本文就詳細(xì)的介紹這些方法的實(shí)現(xiàn),感興趣的可以了解一下2021-06-06Python用類實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼
這篇文章主要介紹了Python用類實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06使用OpenCV circle函數(shù)圖像上畫圓的示例代碼
這篇文章主要介紹了使用OpenCV circle函數(shù)圖像上畫圓的示例代碼,本文內(nèi)容簡(jiǎn)短,給大家突出重點(diǎn)內(nèi)容,需要的朋友可以參考下2019-12-12python中的循環(huán)結(jié)構(gòu)問(wèn)題
這篇文章主要介紹了python中的循環(huán)結(jié)構(gòu)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03淺談python中str字符串和unicode對(duì)象字符串的拼接問(wèn)題
今天小編就為大家分享一篇淺談python中str字符串和unicode對(duì)象字符串的拼接問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12python實(shí)現(xiàn)簡(jiǎn)單的socket server實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單的socket server的方法,實(shí)例分析了Python中socket的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Django 項(xiàng)目重命名的實(shí)現(xiàn)步驟解析
這篇文章主要介紹了Django 項(xiàng)目重命名的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Python+OpenCV實(shí)現(xiàn)圖片中的圓形檢測(cè)
這篇文章主要介紹了如何利用Python+OpenCV實(shí)現(xiàn)檢測(cè)圖片中的圓形,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下2022-04-04