Почему сводный фрейм данных содержит информацию о столбцах, которые не были включены в сводную таблицу? [дубликат]Python

Программы на Python
Ответить
Anonymous
 Почему сводный фрейм данных содержит информацию о столбцах, которые не были включены в сводную таблицу? [дубликат]

Сообщение Anonymous »

Есть фрейм данных с мультииндексными столбцами:

Код: Выделить всё

import pandas as pd

df = pd.DataFrame({
"A": ["foo", "foo", "bar", "bar"],
"B": ["small", "large", "large", "small"],
"C": [1, 2, 2, 7],
"D": [2, 4, 5, 9]
})

df.columns = pd.MultiIndex.from_product(
[['level_0'], df.columns],
names=["first", "second"])

print(df)

Код: Выделить всё

first  level_0
second       A      B  C  D
0          foo  small  1  2
1          foo  large  2  4
2          bar  large  2  5
3          bar  small  7  9
Действие поворота выполняется над кадром данных:

Код: Выделить всё

table = pd.pivot_table(
df,
values=[('level_0', 'C')],
index=[('level_0', 'A')],
columns=[('level_0', 'B')]
)
print(table)

Код: Выделить всё

first            level_0
second                 C
('level_0', 'B')   large small
(level_0, A)
bar                  2.0   7.0
foo                  2.0   1.0
Вывод содержит информацию о несуществующих столбцах:

Код: Выделить всё

print(table.columns.levels)
# [['level_0'], ['A', 'B', 'C', 'D'], ['large', 'small']]
Столбец D не существует в кадре данных, но присутствует в выводе columns.levels.


Подробнее здесь: https://stackoverflow.com/questions/798 ... -werent-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»