美文网首页
pandas Indexing, Selection, and

pandas Indexing, Selection, and

作者: 闫_锋 | 来源:发表于2018-12-04 12:31 被阅读3次

    Series indexing (obj[...]) works analogously to NumPy array indexing, except you
    can use the Series’s index values instead of only integers.

    In [117]: obj = pd.Series(np.arange(4.), index=['a', 'b', 'c', 'd'])
    In [118]: obj
    Out[118]:
    a 0.0
    b 1.0
    c 2.0
    d 3.0
    dtype: float64
    In [119]: obj['b']
    Out[119]: 1.0
    

    Slicing with labels behaves differently than normal Python slicing in that the end‐
    point is inclusive:

    In [125]: obj['b':'c']
    Out[125]:
    b 1.0
    c 2.0
    dtype: float64
    
    In [128]: data = pd.DataFrame(np.arange(16).reshape((4, 4)),
    .....: index=['Ohio', 'Colorado', 'Utah', 'New York'],
    .....: columns=['one', 'two', 'three', 'four'])
    In [129]: data
    Out[129]:
    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
    
    In [130]: data['two']
    Out[130]:
    Ohio 1
    Colorado 5
    Utah 9
    New York 13
    Name: two, dtype: int64
    
    In [131]: data[['three', 'one']]
    Out[131]:
    three one
    Ohio 2 0
    Colorado 6 4
    Utah 10 8
    New York 14 12
    
    In [133]: data[data['three'] > 5]
    Out[133]:
    one two three four
    Colorado 4 5 6 7
    Utah 8 9 10 11
    New York 12 13 14 15
    
    In [132]: data[:2]
    Out[132]:
    one two three four
    Ohio 0 1 2 3
    Colorado 4 5 6 7
    In [133]: data[data['three'] > 5]
    Out[133]:
    one two three four
    Colorado 4 5 6 7
    Utah 8 9 10 11
    New York 12 13 14 15
    
    In [134]: data < 5
    Out[134]:
    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
    In [135]: data[data < 5] = 0
    In [136]: data
    Out[136]:
    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
    
    In [137]: data.loc['Colorado', ['two', 'three']]
    Out[137]:
    two 5
    three 6
    Name: Colorado, dtype: int64
    
    In [138]: data.iloc[2, [3, 0, 1]]
    Out[138]:
    four 11
    one 8
    two 9
    Name: Utah, dtype: int64
    In [139]: data.iloc[2]
    Out[139]:
    one 8
    two 9
    three 10
    four 11
    Name: Utah, dtype: int64
    
    In [140]: data.iloc[[1, 2], [3, 0, 1]]
    Out[140]:
    four one two
    Colorado 7 0 5
    Utah 11 8 9
    
    In [141]: data.loc[:'Utah', 'two']
    Out[141]:
    Ohio 0
    Colorado 5
    Utah 9
    Name: two, dtype: int64
    In [142]: data.iloc[:, :3][data.three > 5]
    Out[142]:
    one two three
    Colorado 0 5 6
    Utah 8 9 10
    New York 12 13 14
    

    相关文章

      网友评论

          本文标题:pandas Indexing, Selection, and

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