「Python数据分析」Pandas基础,用iloc函数按行列位置选择数据
前面我们学过,使用loc函数,通过数据标签,也就是行标签和列标签来选择数据。行和列的标签,是在数据获取,或者是生成的时候,就已经定义好的。
行数据标签,也就是唯一标识数据,不重复的一列,相当于数据库中的主键字段。列数据标签,就是每一列的名称,一般放在开头一行显示。
现在我们再来学习,通过iloc函数,使用行和列的位置,来选择数据。这里的行和列的位置,是pandas对数据的一个编码,从头到尾,按照顺序排列的一个编码。
不过要注意的是,行和列的编码,是从0开始的,也就是第一行,或者是第一列,编码顺序是0。
使用行列位置,选择series中的数据,并修改数据
我们先生成series数据,代表获取到的数据源
导入所需库,用随机函数,生成series的数据值。用range范围函数,生成0到10,中间间隔2的list数据标签索引。
选择前三个数据值
冒号前面留空,表示从开头第一个数据值开始。冒号后面的数字3,表示到第四个数据为止,但是不包含第四个数据。
关键点:在进行数据选择和切片的过程中,一般来说,冒号前包含,冒号后不包含。记住这个规律,基本就能理解loc和iloc函数,选择和切片数据的精确位置了。
选择第四个数据值
选择前三个数据值,并且把前三个数据值设置为0
我们再来看dataframe数据,先生成所需数据。
选择前三行数据
这里要注意,series选择的是数据值,而dataframe选择的是数据行,结果也是dataframe格式的数据。
针对于dataframe格式的数据,loc和iloc中括号中,表示的意思是
df1.iloc[行开始 : 行结束, 列开始 : 列结束]
大家记住以上公式,就可以灵活的对dataframe格式的数据进行选择和切片操作了。
注意,第一行的数据位置是0,所以行开始为1的话,表示从第二行开始选择,行结束为4的话,表示到第四行结束,但是不包括第四行,也就是说,只选择了第二行到第三行的数据。
同理,第一列的数据位置也是0,列开始为2的话,表示从第三列开始选择,列结束为4的话,表示到第五列结束,但是不包括第五列。
通过位置,选择具体的行和列
这里,我们可以使用中括号的数组形式,对行和列进行精确选择。
选择所有行,或者是所有列
以上,就是我们通过iloc函数,使用数据位置,精确选择数据的全部过程。