代码之家  ›  专栏  ›  技术社区  ›  westonplatter

pandas.dataframe.columns中的“名称”是什么?

  •  0
  • westonplatter  · 技术社区  · 7 年前

    当我在熊猫数据帧上执行透视时,

    df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two','two'],
        'bar': ['A', 'B', 'C', 'A', 'B', 'C'],
        'baz': [1, 2, 3, 4, 5, 6],
        'zoo': ['x', 'y', 'z', 'q', 'w', 't']})
    
    df.pivot(index='foo', columns='bar', values='baz')
    
    
    >>> bar A   B   C
        foo         
        one 1   2   3
        two 4   5   6
    

    有这些列,

    df.pivot(index='foo', columns='bar', values='baz').columns
    
    >>> Index(['A', 'B', 'C'], dtype='object', name='bar')
    

    我的问题是,什么是 name=bar 部分意味着什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   sacuL    7 年前

    docs

    名称:对象

    要存储在索引中的名称

    在您的示例中,它是 pandas.Index 用作列名称。

    在某些情况下,“名称”属性很有用,例如,如果您有多个索引,则可以通过其名称引用索引的级别:

    >>> df
    idx1  1  2  3 # <- column header 1
    idx2  a  b  c # <- column header 2
    vals  5  4  6
    
    >>> df.columns
    MultiIndex(levels=[[1, 2, 3], ['a', 'b', 'c']],
               labels=[[0, 1, 2], [0, 1, 2]],
               names=['idx1', 'idx2'])
    
    >>> df.columns.get_level_values('idx1')
    Int64Index([1, 2, 3], dtype='int64', name='idx1')
    >>> df.columns.get_level_values('idx2')
    Index(['a', 'b', 'c'], dtype='object', name='idx2')
    
    推荐文章