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

时间:2018-11-28 23:16:02

标签: python pandas data-structures

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

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 个答案:

答案 0 :(得分:1)

docs

  

名称:对象

     

要存储在索引中的名称

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

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

>>> 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')