Как создать мультииндексный фрейм данных в пандах? - PullRequest
1 голос
/ 16 октября 2019

Как создать многоиндексные данные enter image description here кадров в пандах?

1 Ответ

1 голос
/ 16 октября 2019

Первый вариант

Одно из возможных решений - создать MultiIndex из кортежей :

Начать с определения исходных кортежей:

tpl = [('', 'Material'), ('', 'Brand'),
    ('abcd.com', 'Stock'), ('abcd.com', 'Sales'), ('abcd.com', 'Leftover'),
    ('xyz.com',  'Stock'), ('xyz.com',  'Sales'), ('xyz.com', 'Leftover')]

Каждый кортеж содержит имя соответствующего столбца на последовательных уровнях.

Затем создайте MultiIndex:

cols = pd.MultiIndex.from_tuples(tpl)

И теперь вы можете создать свой DataFrame, вызывая, например:

df = pd.DataFrame(<your_data>, columns=cols)

Другой вариант

Второй вариант заключается в создании MultiIndex из массивов :

Исходные данные на самом деле представляют собой список , содержащий имена столбцов (также * 1026)* списки ) для каждого уровня:

arr = [[ '', '', 'abcd.com', 'abcd.com', 'abcd.com', 'xyz.com', 'xyz.com', 'xyz.com' ],
       [ 'Material', 'Brand', 'Stock', 'Sales', 'Leftover', 'Stock', 'Sales', 'Leftover']]

Затем, чтобы создать MultiIndex, вызовите:

ind = pd.MultiIndex.from_arrays(arr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...