DataFrame 中的查询方式(iloc,loc,iat,at)

1.loc单个标签(label)

接受一个“标签”(label)参数,返回一个Series,返回通过这个标签定位的行的值,注意这里是通过标签定位,而不是通过中括号中的数字定位第几行

test_dict_df.loc[1] #return the row with name 'Bob'
test_dict_df.loc[7] #return the row with name 'Time' important!!!

2.一个array的标签

如果键入一个标签的array,那么就返回一个对应的DataFrame:
在这里插入图片描述

3.加入一个切片array

在这里插入图片描述

4.行列标签定位

通过在中括号中加入行标签和列标签来定位一个cell,相当于坐标的定位:

test_dict_df.loc[1,'english']  #result:94

5.行标签或列标签是切片array

test_dict_df.loc[1:4,'english']
# test_dict_df.loc[1:4,'english':'math']

6.条件选择

选择英语成绩超过90的所有行
在这里插入图片描述
也可以再条件选择后,再加入列选择,列选择的时候可以单列,也可以是切片数组

test_dict_df.loc[test_dict_df['english']>90,'english'] #single label
test_dict_df.loc[test_dict_df['english']>90,'english':'name'] #slice array
test_dict_df.loc[test_dict_df['english']>90,['english','name']] #label array

7.iloc定位

iloc函数与loc函数不同的是,它接受的是一个数字,代表着要选择数据的位置

test_dict_df.iloc[6]

这代表我们选择的是第6行,而不是index为6的那一行

test_dict_df.iloc[[True,False,False,True]]

根据bool值进行选择

# test_dict_df.iloc[1:2]
test_dict_df.iloc[[1,2,4]]

也可接受切片array

8.at函数定位

at是用来选择单个值的,此时用法类似于loc,但比loc更快

test_dict_df.at[1,'english']
test_dict_df.loc[1,'english']

9.iat函数定位

iat也只能选择一个值。只不过是用索引位置来选择,注意:行列都是索引位置来选择,从0开始数

# test_dict_df.iat[1,'english'] #error!!!
test_dict_df.iat[2,2] #right!!!

总结

1、 loc和iloc函数都是用来选择某行的,iloc与loc的不同是:iloc是按照行索引所在的位置来选取数据,参数只能是整数。而loc是按照索引名称来选取数据,参数类型依索引类型而定;
2、 at和iat函数是只能选择某个位置的值,iat是按照行索引和列索引的位置来选取数据的。而at是按照行索引和列索引来选取数据;
3、 loc和iloc函数的功能包含at和iat函数的功能。

参考链接
https://www.cnblogs.com/datasnail/p/9757081.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值