欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法總結(jié)

 更新時(shí)間:2022年03月08日 14:15:54   作者:子木同學(xué)  
loc是location的意思,和iloc中i的意思是指integer,所以它只接受整數(shù)作為參數(shù),下面這篇文章主要給大家介紹了關(guān)于利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法的相關(guān)資料,需要的朋友可以參考下

實(shí)際操作中我們經(jīng)常需要尋找數(shù)據(jù)的某行或者某列,這里介紹我在使用Pandas時(shí)用到的兩種方法:iloc和loc。

loc:通過(guò)行、列的名稱(chēng)或標(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'])
# 寫(xiě)入本地
data.to_excel("D:\\實(shí)驗(yàn)數(shù)據(jù)\\data.xls", sheet_name="data")
print(data)

1.loc方法

loc方法是通過(guò)行、列的名稱(chēng)或者標(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)文章

最新評(píng)論