zoukankan      html  css  js  c++  java
  • 层次化索引MultiIndex

    mask=pd.MultiIndex.from_arrays([['Ohio', 'Ohio', 'Colorado'], ['Green','bed', 'Green']],
                                   names=('state', 'color'))
    
    df = pd.DataFrame(np.arange(12).reshape((4, 3)),index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]],
                      columns=mask)
    
    
    df.index.names=['key1','key2']
    df.columns.names=['state','color']
    
    print("
    源数据:
    ",df)
    
    
    print("
    对源数据index排序:
    ",df.sort_index(level=1))
    print("
    交换级别:
    ")
    print(df.swaplevel('key1','key2'))
    print("
    交换级别后排序:
    ")
    print(df.swaplevel('key1','key2').sort_index(level=0))

    结果:

     

     可以对比看到,排序的结果是一样的

     END

    #df.set_index( )函数的用法
    df=pd.DataFrame({'a':range(7),'b':range(7,0,-1),'c':['one','one','one','two','two','two','two'],
                     'd':[0,1,2,0,1,2,3]})
    
    
    print("源数据:
    ",df)
    
    df2=df.set_index(['c','d'])
    df3=df.set_index(['c','d'],drop=False)
    
    
    print("
    df.set_index(['c','d']层次化索引,df2:
    ",df2)
    print("
    df.set_index(['c','d'],drop=False层次化索引,drop,df3:
    ",df3)

    结果:

     END

    left1 = pd.DataFrame({'key': ['a', 'b', 'a', 'a', 'b','c'],'value': range(6)})
    right1 = pd.DataFrame({'group_val': [3.5, 7]}, index=['a', 'b'])
    
    print("left1:
    ",left1)
    print("right1:
    ",right1)
    
    mask=left1.join(right1)
    mask2=left1.join(right1,on='key')
    
    print("
    不指定key值:
    ",mask)
    print("
    指定key值:
    ",mask2)

    结果:

      END

  • 相关阅读:
    ZOJ Problem Set
    数学之美:生活中的技术
    java泛型【收藏】
    "i=i++"在java等高级语言的解释
    poj1001
    ⑧javaWeb之在例子中学习(过滤器Filter)
    ZOJ Problem Set
    IT十年经典书籍
    ⑦JSP2.0的福利(标签文件)
    myeclipse-common 找不到
  • 原文地址:https://www.cnblogs.com/bravesunforever/p/12778749.html
Copyright © 2011-2022 走看看