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