pandas常用操作詳解——.loc與.iloc函數的使用及區別


 

loc與iloc功能介紹:數據切片。通過索引來提取數據集中相應的行數據or列數據(可以是多行or多列)

總結:

不同:
1. loc函數通過調用index名稱的具體值來取數據
2. iloc函數通過行序號來取數據
3. 取多行數據時iloc不包含末尾
4. 對數據進行篩選使用loc函數,當使用loc函數時,如果index不具有特定意義,而且重復,那么提取的數據需要進一步處理,可用.reset_index()函數重置index
相同:
1. []中無逗號時,默認取行

 

舉例說明:

 

#構建數據集
df1=pd.DataFrame(np.arange(1,33).reshape(8,4),columns=list('ABCD'),index=list('abcdefgh'))

 

 

"1.提取行數據"
#提取某行數據
df1.loc['a']
df1.iloc[0]

 

#提取多行數據
#這里注意:.loc包含末尾'f'行,.iloc不包含末尾第【5】行
df1.loc['a':'f']

 

df1.iloc[0:5]

 

"2.提取列數據"
#提取一列數據
df1.loc[:,'A']
df1.iloc[:,0]

 

 

#提取多列數據
df1.loc[:,'A':'C']

 

df1.iloc[:,0:2]

"3.提取某一塊的數據(多行多列)"
df1.loc['a':'e','A':'C']

 

df1.iloc[0:4,0:2]

 

 

"4.根據篩選條件提取符合條件數據所在的行,使用loc函數"
df1.loc[df1['A']==9]#提取A列中數字為9所在的行
df1[df1['A'].isin([9])] #與上一行語句結果相同,使用isin()函數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM