尝尝pandas(2)

作者: 雨路浅歌 | 来源:发表于2018-08-23 09:25 被阅读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小白联盟

    相关文章

      网友评论

      本文标题:尝尝pandas(2)

      本文链接:https://www.haomeiwen.com/subject/rjcpiftx.html