python基础进阶 pandas中.loc 取值之通过行取值和通过列取值的区别——你到底是谁

关于.loc 的一般用法大家都是比较清楚的,也就是通过label 定位元素,但是在实际使用中有很多需要注意的细节。
我们有不同的方法可以取到同一个位置的值,但是他们真的一样吗,他们对计算会有什么影响呢,今天我们就来探究一下关于.loc 不起眼却会影响到实际运算的小坑。

1.首先自己创建一个DataFrame格式的矩阵,如下图所示:
python基础进阶 pandas中.loc 取值之通过行取值和通过列取值的区别——你到底是谁_第1张图片

2.我们想到得到 “可”,也就是行号为“0”,列号为 “三”的元素,这里我们有5种办法:
data.loc[0,[“三”]]
data.loc[[0]].三
data.loc[[0],[“三”]]
data.loc[0,"三“]
data.loc[0].三
乍一看,这几种办法不是都一样么,都成功的取值到“可”,到底有什么不同呢,让我们来展示一下他们的打印结果,君即可豁然开朗。

3.先来看一下 data.loc[0,[“三”]]
这种方法通过列标签“三”取值,得到的“可”。
python基础进阶 pandas中.loc 取值之通过行取值和通过列取值的区别——你到底是谁_第2张图片
4.再来看一下 data.loc[[0]].三
这种方法是通过行标签“0”,取值得到的“可”。
python基础进阶 pandas中.loc 取值之通过行取值和通过列取值的区别——你到底是谁_第3张图片

另外这种方式我们可以通过添加 values[0] 得到单独的“可”,如果我们要得到的是用于计算的数字,这种方式也可以进行操作符的运算。 在这里插入图片描述

5.看一下 data.loc[[0],[“三”]]
这种方法是通过行和列同时取值,得到的“可”。
python基础进阶 pandas中.loc 取值之通过行取值和通过列取值的区别——你到底是谁_第4张图片 6.使用data.loc[0,"三“] 或者 data.loc[0].三 ,这俩种方法可以直接得到 “可”,并不会引用行或者列。当我们需要对具体的数字进行计算的时候,就需要用这两种方法来取值。

在这里插入图片描述
python基础进阶 pandas中.loc 取值之通过行取值和通过列取值的区别——你到底是谁_第5张图片
7.总结
通过以上的展示是不是对.loc使用方法有多了一些了解,在实际的计算中,有时候虽然我们觉得是取出值了,但是却运无法得到结果,或者报错,这时候我们就要考虑是不是取值的方法用得不对。在实际计算的时候我们要直接引用值,并不需要引用行或者列。
另外跟大家分享一个记忆的小窍门,在方括号里面的行和列,哪个再次加了方括号就是通过哪个取值,如果都再次用方括号括起来,那就是同时通过行和列取的值,如果只是有外面的方括号,则是直接定位到值,不会引用行或者列。

你可能感兴趣的:(#,python进阶之路,python,经验分享,其他)