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