pandas(二)

2019-04-11 10:25:26来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

层级索引:

  index=[('a',2010),('b',2011),('c',2010'),('a',2012),('e',2010),('f',2011)]

  age=[18,17,18,16,18,17]

常规创建

  pop =pd.Series(age,index=index)

MultiIndex创建

  index= pd.MultiIndex.from_tuples(index)

  pop = pop.reindex(index)   最原先的索引重置为multiindex

  pop[:,2010]  取出2010的所有数据

  

高维数据的多级索引:

  pop_df = pop.unstack()   

  本质是生成一个a-f为行索引,年份为列索引的矩阵,缺失值用nan

  pop = pop_df.stack()   和unstack相反

 

多级索引创建:

  直接将index参数设为二维

  df = pd.DataFrame(np.random.rand(4,2),

              index=[['a','a','c','d'],[1,2,1,1]],

              columns=['data1','data2'])

 

  将元祖作为键的字典传入

  data = {('a',1):18,('a',2):19,('b',1):20}

  pd.Series(data)  

  

  显式创建多级索引

  pd.MultiIndex.from_arrays([['a','a','b','b'],[1,2,1,2]])

  pd.MultiIndex.from_tuples([('a',1),('a',2),('b',1),('b',2)])  

 

多级索引等级名称

  pop.index.names=['name','year']  以前面例子来说给name是a一列的名称,year是2010一列的形成

 

Series多级索引

 获取单个元素:

  pop['a',2010]

  也可以支持局部取值

  pop['a']

  局部切片

  pop['a':'c']  但要求muliIndex按顺序排列

  pop[:,2012]

  pop[pop>18]

  pop[['a','b']]

    

 

  

  

  

 


原文链接:https://www.cnblogs.com/saber-xi/p/10642917.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python:matplotlib绘制直方图

下一篇:用 Python 描述 Cookie 和 Session