Что такое DataFrame.columns.name? - PullRequest
0 голосов
/ 05 июня 2018

Не могли бы вы объяснить мне, какова цель атрибута DataFrame.columns.name?

Я случайно получил его после создания сводной таблицы и сброса индекса.

import pandas as pd

df = pd.DataFrame(['a', 'b'])
print(df.head())

# OUTPUT:
#    0
# 0  a
  1  b

df.columns.name = 'temp'
print(df.head())

# OUTPUT:
# temp  0
# 0     a
# 1     b

1 Ответ

0 голосов
/ 05 июня 2018

присвоение имен уровням столбцов может быть полезно во многих случаях при манипулировании данными.

простой пример может быть при использовании `stack () '

df = pd.DataFrame([['a', 'b'], ['d', 'e']], columns=['hello', 'world'])
print(df.stack())
0  hello    a
   world    b
1  hello    d
   world    e
df.columns.name = 'temp'
print(df.stack())
    temp 
0  hello    a
   world    b
1  hello    d
   world    e
dtype: object

в качестве пользователяможно увидеть, что сложенный df сохранил название уровня столбцов.в многоиндексном / многоуровневом фрейме данных это может быть очень полезно

немного более сложный пример (из документа):

tuples = [('bar', 'one'),
          ('bar', 'two'),
          ('baz', 'one'),
          ('baz', 'two'),
          ('foo', 'one'),
          ('foo', 'two'),
          ('qux', 'one'),
          ('qux', 'two')]

index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
pd.MultiIndex(levels=[['bar', 'baz', 'foo', 'qux'], ['one', 'two']],
           labels=[[0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 0, 1, 0, 1, 0, 1]],
           names=['first', 'second'])

s = pd.Series(np.random.randn(8), index=index)
print(s)
first  second
bar    one      -0.9166
       two      1.0698 
baz    one      -0.8749
       two      1.3895 
foo    one      0.5333 
       two      0.1014 
qux    one      -1.2350
       two      -0.6479
dtype: float64

s.unstack()
second     one     two
first                 
bar    -0.9166 1.0698 
baz    -0.8749 1.3895 
foo    0.5333  0.1014 
qux    -1.2350 -0.6479
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...