美文网首页我爱编程
pandas -2.定位切片区域,元素,iloc,loc,ix

pandas -2.定位切片区域,元素,iloc,loc,ix

作者: ddm2014 | 来源:发表于2018-05-17 18:13 被阅读0次

    1.符号[],()
    刚接触pandas一直不太明白pandas里面什么时候用[],什么时候用(),后来觉得要选取dataframe一部分的时候就用[],()一般是用在函数里面的。

    2.切片区域
    2.1列
    单列最简单的,只有一列就直接dataframe['列名']

    多列稍有麻烦:dataframe[['列1','列2'...]],外层[]表示我要对dataframe做选择了,里层表示选择的内容比较多,用list告诉你他们是一起的。
    但是后来我要选取非常多列的时候,要这样一一罗列就不大方便了。
    我的做法是先把所有的列名转成list然后在list里选择。
    比如
    col = dataframe.columns.values.tolist(),
    dataframe[ col[3:-5]].

    2.2行
    这也是比较简单的,因为pandas的切片是默认行切片的。
    dataframe[3:]就是index为3的行到最后一行
    值得注意的是这里区间是左闭右开的,所以index为3到5行是dataframe[3:6]

    2.3区域和元素
    定位区域和元素方法是一样都可以用iloc,loc,ix来定位,稍有不同是loc是用index跟列名,iloc是用位置即第0行到第5行,第2列到第5列...,ix是混合使用既可以用index也可以用位置,但是我发现index为是数字的时候,ix会自动理解为index值。
    用的地方,一般来说知道index一般会用index来定位。
    iloc一般用在筛选之后,你并不知道具体index就用iloc
    ix我觉得比较适合index不是数字的情况。

    方法是dataframe.iloc/loc/ix[行的选择,列的选择]
    选择的是元素,则行就是一个元素,列也是一个元素,比如dataframe.loc[5,'A'],选择index为5,列名为A的元素。
    若要选择的是区域,行就是3:5,列就是['a','b'],
    比如dataframe.iloc[:3,[2,3]]

    相关文章

      网友评论

        本文标题:pandas -2.定位切片区域,元素,iloc,loc,ix

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