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()函數