您好,登錄后才能下訂單哦!
小編給大家分享一下如何利用Pandas讀取某列某行數據,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
實際操作中我們經常需要尋找數據的某行或者某列,這里介紹我在使用Pandas時用到的兩種方法:iloc和loc。
loc:通過行、列的名稱或標簽來索引
iloc:通過行、列的索引位置來尋找數據
首先,我們先創建一個Dataframe,生成數據,用于下面的演示
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:\\實驗數據\\data.xls", sheet_name="data") print(data)
loc方法是通過行、列的名稱或者標簽來尋找我們需要的值。
(1)讀取第二行的值
# 索引第二行的值,行標簽是“1” data1 = data.loc[1]
結果:
備注: #下面兩種語法效果相同 data.loc[1] == data.loc[1,:]
(2)讀取第二列的值
# 讀取第二列全部值 data2 = data.loc[ : ,"B"]
結果:
(3)同時讀取某行某列
# 讀取第1行,第B列對應的值 data3 = data.loc[ 1, "B"]
結果:
(4)讀取DataFrame的某個區域
# 讀取第1行到第3行,第B列到第D列這個區域內的值 data4 = data.loc[ 1:3, "B":"D"]
結果:
(5)根據條件讀取
# 讀取第B列中大于6的值 data5 = data.loc[ data.B > 6] #等價于 data5 = data[data.B > 6]
結果:
(6)也可以進行切片操作
# 進行切片操作,選擇B,C,D,E四列區域內,B列大于6的值 data1 = data.loc[ data.B >6, ["B","C","D","E"]]
結果:
iloc方法是通過索引行、列的索引位置[index, columns]來尋找值
(1)讀取第二行的值
# 讀取第二行的值,與loc方法一樣 data1 = data.iloc[1] # data1 = data.iloc[1, :],效果與上面相同
結果:
(2)讀取第二列的值
# 讀取第二列的值 data1 = data.iloc[:, 1]
結果:
(3)同時讀取某行某列
# 讀取第二行,第二列的值 data1 = data.iloc[1, 1]
結果:
(4)進行切片操作
# 按index和columns進行切片操作 # 讀取第2、3行,第3、4列 data1 = data.iloc[1:3, 2:4]
結果:
注意:
這里的區間是左閉右開,data.iloc[1:3, 2:4]中的第4行、第5列取不到
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函數,根據某個數據來提取數據所在的行
In[10]: data.loc[data['A']==0] #提取data數據(篩選條件: A列中數字為0所在的行數據) Out[10]: A B C D a 0 1 2 3
以上是“如何利用Pandas讀取某列某行數據”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。