У меня есть массив Numpy, состоящий из списка списков, представляющих двумерный массив с метками строк и именами столбцов, как показано ниже:
data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
Я хотел бы, чтобы результирующий DataFrame имел Row1 и Row2 в качестве значений индекса, а Col1, Col2 в качестве значений заголовка
Я могу указать индекс следующим образом:
df = pd.DataFrame(data,index=data[:,0]),
Однако я не уверен, как лучше назначить заголовки столбцов.
Ответы:
Необходимо указать
data
,index
иcolumns
вDataFrame
конструкторе, как:изменить : как в комментарии @joris, вам может потребоваться изменить выше,
np.int_(data[1:,1:])
чтобы иметь правильный тип данных.источник
DataFrame
нет некоторого "ярлыка"? Это в основном способcsv
загрузки s - и может управляться обработкой по умолчанию для многих читателей csv. Была бы полезна аналогичная структура для df's.Вот простое для понимания решение
источник
Series
имена .. это не масштабируется.Я согласен с Йорисом; кажется, что вы должны делать это по-другому, как с массивами записей . Изменив «вариант 2» из этого замечательного ответа , вы можете сделать это так:
источник
Это можно сделать просто с помощью from_records панд DataFrame
источник
data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
.источник
Добавляем ответ @ behzad.nouri - мы можем создать вспомогательную подпрограмму для обработки этого распространенного сценария:
Давайте попробуем это:
источник
Я думаю, что это простой и интуитивно понятный метод:
возвращает:
Но здесь есть подробности о производительности:
Как установить значение столбца панд в виде списка
источник
Это не так коротко, но, возможно, может помочь вам.
Создание массива
Создание фрейма данных
источник