python小白联盟numpy&pandas&matlaplibPandas

尝尝pandas(2)

2018-08-23  本文已影响16人  雨路浅歌

今天来学习pandas中非常重要的内容——数据的选择和赋值。

普通索引和切片

为了演示方便,首先创建一个DataFrame

选取"甲"列数据,注意此方法对行索引无效,即df['A']报错

同时选取"甲"列和"丙"列,注意参数为一个列表

前三行

loc、iloc、at、iat

虽然普通的索引和切片能够满足我们的大部分需求,但是在数据获取方面,使用pandas中的四种方法——loc、iloc、at和iat更加方便。

获取"A"行数据

获取"A"行到"D"行的数据,支持切片

获取"A"行到"D"行的"乙"列数据

获取"A"行到"D"行的"甲"列和"丙"列数据

获取"A"行和"D"行,注意传入的必须是列表

获取第二行

获取前三行

获取1、2、4行,和numpy中的花式索引类似

获取1、2、4行和1、2、3列组成的DataFrame

先来对loc和iloc做个简单的总结:loc和iloc都可以获取DataFrame的行,loc是通过索引index的名称、而iloc是通过索引index所在的行数,如果想要获取某一数据,使用iloc

获取"B"行"丙"列

虽然第二种方法也可以实现同样功能,但是没有第一种直观

再来对at和iat做个总结:和loc与iloc的对应关系一样,at和 iat都可以获取某一数据,但是at只能通过行索引和列索引的名字来获取,而iat则只能通过行索引和列索引所在行列数获取。

布尔索引

把数据中大于12的数据显示出来,其它的设为无效值。

把"甲"列大于10的行取出来

内容为13、23所在的位置为True、其它地方为False

"丁"列内容为13、23所在的位置为True、其它地方为False

把"丁"列数据等于13或23的行取出来,这种做法在数字不连续的情况下非常实用。

从上面的例子可以看出,布尔索引就是把值为True的地方取出来,值为False的地方扔掉。

赋值

赋值的过程和数据的获取过程差不多,只不过赋值是把一个新的数据赋给获取到的数据而已,我就不再多废话了。

下期再见,祝有个好心情!!!

python小白联盟
上一篇下一篇

猜你喜欢

热点阅读