在Pandas DataFrame对象中重新定义索引

发布于 2021-01-29 19:05:48

我正在尝试重新索引熊猫DataFrame对象,像这样,

From:
            a   b   c
        0   1   2   3
        1  10  11  12
        2  20  21  22

To :
           b   c
       1   2   3
      10  11  12
      20  21  22

我正在如下所示进行操作,并且得到了错误的答案。有关如何执行此操作的任何线索?

>>> col = ['a','b','c']
>>> data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col)
>>> data
    a   b   c
0   1   2   3
1  10  11  12
2  20  21  22
>>> idx2 = data.a.values
>>> idx2
array([ 1, 10, 20], dtype=int64)
>>> data2 = DataFrame(data,index=idx2,columns=col[1:])
>>> data2
     b   c
1   11  12
10 NaN NaN
20 NaN NaN

知道为什么会这样吗?

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    为什么不简单地使用set_index方法?

    In : col = ['a','b','c']
    
    In : data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col)
    
    In : data
    Out:
        a   b   c
    0   1   2   3
    1  10  11  12
    2  20  21  22
    
    In : data2 = data.set_index('a')
    
    In : data2
    Out:
         b   c
    a
    1    2   3
    10  11  12
    20  21  22
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看