pandas 索引选取和过滤(四)

来源:互联网 发布:手机号批量加微信软件 编辑:程序博客网 时间:2024/06/06 20:02

    建立Series

from pandas import Series,DataFrameimport numpy as npimport pandas as pd
obj=Series(np.arange(4),index=['a','b','c','d'])objOut[5]: a    0b    1c    2d    3dtype: int32

    选取

obj['b']Out[6]: 1obj[1]Out[7]: 1obj[3]Out[8]: 3
obj[2:4]Out[10]: c    2d    3dtype: int32
obj[['b','a','d']]Out[11]: b    1a    0d    3dtype: int32
obj[[1,3]]Out[12]: b    1d    3dtype: int32
obj[obj<2]Out[13]: a    0b    1dtype: int32

    利用标签切片与普通python 切片不同,python是左闭右开区间[a,b),而标签切片是闭合区间[a,b]

In [14]: obj['b':'c']Out[14]: b    1c    2dtype: int32
obj['b','c']=5objOut[16]: a    0b    5c    5d    3dtype: int32

    DataFrame 选取

data=DataFrame(np.arange(16).reshape((4,4)),index=['ohio','colorado','utah','new york'],columns=['one','two','three','four'])
dataOut[18]:           one  two  three  fourohio        0    1      2     3colorado    4    5      6     7utah        8    9     10    11new york   12   13     14    15
data['two']Out[19]: ohio         1colorado     5utah         9new york    13Name: two, dtype: int32
data[['three','one']]Out[20]:           three  oneohio          2    0colorado      6    4utah         10    8new york     14   12
data[:2]Out[21]:           one  two  three  fourohio        0    1      2     3colorado    4    5      6     7
data[data['three']>5]Out[22]:           one  two  three  fourcolorado    4    5      6     7utah        8    9     10    11new york   12   13     14    15
data<5Out[23]:             one    two  three   fourohio       True   True   True   Truecolorado   True  False  False  Falseutah      False  False  False  Falsenew york  False  False  False  False
data[data<5]=0dataOut[26]:           one  two  three  fourohio        0    0      0     0colorado    0    5      6     7utah        8    9     10    11new york   12   13     14    15

    ix的用法

dataOut[26]:           one  two  three  fourohio        0    0      0     0colorado    0    5      6     7utah        8    9     10    11new york   12   13     14    15
data.ix['colorado',['two','three']]Out[27]: two      5three    6Name: colorado, dtype: int32
data.ix[['colorado','utah'],[3,0,1]]Out[29]:           four  one  twocolorado     7    0    5utah        11    8    9
data.ix[2]Out[6]: one       8two       9three    10four     11Name: utah, dtype: int32
data.ix[:'utah','two']Out[9]: ohio        1colorado    5utah        9Name: two, dtype: int32
data.ix[data.three>5]Out[13]:           one  two  three  fourcolorado    4    5      6     7utah        8    9     10    11new york   12   13     14    15data.ix[data.three>5,:3]Out[14]:           one  two  threecolorado    4    5      6utah        8    9     10new york   12   13     14
0 0
原创粉丝点击