Фрейм данных Pandas, имеющий дополнительный " слой"



Предположим, что у вас есть следующий фрейм данных:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.nan,columns=['A','B','C'],index=[0,1,2])
Предположим, мне нужен дополнительный "слой" поверх этого фрейма данных pandas, такой, что столбец A, строка 0 будет иметь свое значение, столбец B, строка 0 будет иметь другое значение, столбец C, строка 0 будет иметь что-то, столбец A, строка 1 и так далее. Таким образом, как фрейм данных поверх этого существующего.

Можно ли добавить другие слои? Как получить доступ к этим слоям? Является ли это эффективным, т. е. должен ли я просто использовать отдельный фрейм данных все вместе? И можно было бы сохранить эти несколько слоев в виде csv, получив доступ к отдельным слоям?, или есть функция, которая разбила бы их на разные листы в одной книге?

152   1  

1 ответ:

pandas.DataFrame не может иметь 3 измерения :

DataFrame является2-мерной меченой структурой данных со столбцами потенциально различных типов.

Однако есть способ подделать 3-измерения с помощью Многоиндексной / расширенной индексации :

Иерархическое индексирование (мультииндекс)

Иерархическая / многоуровневая индексация очень увлекательна, поскольку она открывает двери для некоторых довольно сложных данных. анализ и манипулирование, особенно для работы с высшими размерные данные. По сути, он позволяет хранить и манипулировать данные с произвольным числом измерений в младших размерных данных такие структуры, как Серии (1d) и фреймы данных (2d).

Если вам действительно нужно это дополнительное измерение, идите с pandas.Panel:

Panel является несколько менее используемым, но все же важным контейнером для 3-мерного данные.

Но не пропустите этот важный отказ от ответственности из документов:

Примечание: К сожалению Panel, используется реже, чем Series и DataFrame, был слегка пренебрежен в функциональном отношении. Ряд из них методы и опции, доступные в DataFrame, недоступны в Panel.

Есть также pandas.Panel4D (экспериментальный) в маловероятном случае, что вам это нужно.

    Ничего не найдено.

Добавить ответ:
Отменить.