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

 

posted @ 2021-03-29 11:05  MMMMiles  阅读(5846)  评论(0编辑  收藏  举报