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