pandas中iloc、loc的用法和区别

loc和iloc的区别,这两个有点容易混淆,因此需要特殊方式来加强记忆

总结:

1. loc使用范围比iloc更广更实用,loc可以使用切片、名称(index,columns)、也可以切片和名称混合使用;但是loc不能使用不存在的索引来充当切片取值,像-1

2. iloc只能用整数来取数

推荐使用loc


iloc: i可以看着int,因此iloc就是用数字(int)来取数据的.
iloc使用情况: 使用整数通过切片等方式取数
比如:

# 切片
# 下面两种方法有同样的效果; 表示取出df中1:5行(不包括5)和3:6列
1
df.iloc[1:5,3:6] 2 df.iloc[[1,2,3,4],[3,4,5]]
# 另外 df.iloc[0]、df.iloc[1]、df.iloc[-1] 分别表示第一行、第二行、最后一行
# 同理df.iloc[:,0]、df.iloc[:,1]、df.iloc[:,-1] 分别表示第一列、第二列、最后一列

 

loc的使用范围要远高于iloc, loc也能够做到iloc的切片取数, 除了df.loc[-1]
loc使用情况:
使用切片、索引、列名称查找
按条件(bool)查找

比如:

1 # 切片
2 hy_data.loc[2:4,]
3 hy_data.loc[[0,1,2,3],:]
4 # 切片和名称混合
5 hy_data.loc[2:4,'用户编号']
6 # 按条件取数
7 # 表示取出df中“行业分类”列值的长度等于6的所有行
8 hy_data.loc[hy_data['行业分类'].str.len() == 6, :]

 

posted @ 2020-03-17 15:23  Alexisbusy  阅读(20127)  评论(0编辑  收藏  举报