美文网首页
pandas库学习(六) 更灵活的操作

pandas库学习(六) 更灵活的操作

作者: 3ni | 来源:发表于2018-11-02 10:47 被阅读0次

    对于Series来说,不仅仅可以通过Series的索引值来获取数据,也可以使用整数来获取数据,甚至还可以用切片来获取。
    obj = Series(np.arange(4.), index=['a', 'b', 'c', 'd'])

    a    0.0
    b    1.0
    c    2.0
    d    3.0
    dtype: float64
    

    print obj['b']

    1.0
    

    print obj[1]结果和上面一样
    obj[1:3]

    b    1.0
    c    2.0
    dtype: float64
    

    obj[1:5]不会报错

    b    1.0
    c    2.0
    d    3.0
    dtype: float64
    

    obj[['b', 'a', 'd']]

    b    1.0
    a    0.0
    d    3.0
    dtype: float64
    

    直接对元素进行筛选:
    obj[obj < 2]

    a    0.0
    b    1.0
    dtype: float64
    

    当使用索引值来进行切片时会不一样,它会包含右边的结束点
    obj['a':'c']

    a    0.0
    b    1.0
    c    2.0
    dtype: float64
    

    也可以利用切片来进行赋值:
    obj['a':'c']=5

    a    5.0
    b    5.0
    c    5.0
    d    3.0
    dtype: float64
    

    对DataFrame进行操作:
    data = DataFrame(np.arange(16).reshape((4, 4)),index=['Ohio', 'Colorado', 'Utah', 'New York'],columns=['one', 'two', 'three', 'four'])

              one  two  three  four
    Ohio        0    1      2     3
    Colorado    4    5      6     7
    Utah        8    9     10    11
    New York   12   13     14    15
    

    data['two']data[['three', 'one']]data[:2]操作都是可以的
    data[data['three'] > 5]

              one  two  three  four
    Colorado    4    5      6     7
    Utah        8    9     10    11
    New York   12   13     14    15
    

    data<5

                one    two  three   four
    Ohio       True   True   True   True
    Colorado   True  False  False  False
    Utah      False  False  False  False
    New York  False  False  False  False
    

    data[data<5] = 0比较的同时进行赋值

              one  two  three  four
    Ohio        0    0      0     0
    Colorado    0    5      6     7
    Utah        8    9     10    11
    New York   12   13     14    15
    

    data.ix['Colorado',['two','three']]

    two      5
    three    6
    Name: Colorado, dtype: int64
    

    data.ix[['Colorado','Utah'],[3, 0, 1]]并没有改变元素

              four  one  two
    Colorado     7    0    5
    Utah        11    8    9
    

    data.ix[2]取出第三行数据
    data.ix[:'Utah','two']从开始行到索引为'Utah'行中的'two'列中的元素

    Ohio        0
    Colorado    5
    Utah        9
    Name: two, dtype: int64
    

    data.ix[data.three > 5,:3]data数据中'three'列的中元素大于5的行,取前面三列

              one  two  three
    Colorado    0    5      6
    Utah        8    9     10
    New York   12   13     14
    

    相关文章

      网友评论

          本文标题:pandas库学习(六) 更灵活的操作

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