1.指定倒序的索引
In [1]:
import pandas as pd
import numpy as np
s=pd.Series(np.arange(5),index=np.arange(5)[::-1],dtype='int64')#index=np.arange(5),指定索引范围;[::-1]是倒序索引
s
Out[1]:
2.索引是否存在这些元素
In [2]:
s.isin([1,3,4])#索引是否存在这些元素
Out[2]:
In [3]:
s[s.isin([1,3,4])]#取出对应元素
Out[3]:
3.多重索引数据
In [4]:
s2=pd.Series(np.arange(6),index=pd.MultiIndex.from_product([[0,1],['a','b','c']]))#多重索引
s2
Out[4]:
In [5]:
s2.iloc[s2.index.isin([(1,'a'),(0,'b')])]#多重索引
Out[5]:
In [6]:
s
Out[6]:
In [7]:
s[s>2]
Out[7]:
4.索引数据
In [8]:
dates=pd.date_range('20181124',periods=8)#构造8天的数据
df=pd.DataFrame(np.random.randn(8,4),index=dates,columns=['A','B','C','D'])
df
Out[8]:
In [9]:
df.select(lambda x:x=='A',axis='columns')#索引A列的数据
Out[9]:
In [10]:
df['A']#和上面一样
Out[10]:
5.where判断条件,并索引位置,替换数据
In [11]:
df.where(df<0)#把不满足条件的换成NaN
Out[11]:
In [12]:
df.where(df<0,-df)#把不满足条件的换成-df,也就是可以替换成其他形式
Out[12]:
6.query按条件查找索引
In [13]:
df=pd.DataFrame(np.random.rand(10,3),columns=list('abc'))
df
Out[13]:
In [14]:
df.query('(a<b)')
Out[14]:
In [15]:
df.query('(a<b)&(b<c)')
Out[15]: