Ответ 1
Функция для этого from_records
, см. http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.from_records.html.
Я новичок в pandas, поэтому, возможно, я задаю очень глупый вопрос. Обычно инициализация кадра данных в pandas была бы по столбцу, где я вставлял dict с ключом имен столбцов и значениями объектов, похожих на список, с одинаковой длиной.
Но я бы хотел инициализировать строку по-разному без динамически контактирующих строк. Скажем, у меня есть список namedtuple, есть ли оптимизированная операция, которая даст мне фреймворк pandas непосредственно из него?
Большое спасибо
Функция для этого from_records
, см. http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.from_records.html.
В аналогичном ключе создающем серию из namedtuple, вы можете использовать _fields
:
In [11]: Point = namedtuple('Point', ['x', 'y'])
In [12]: points = [Point(1, 2), Point(3, 4)]
In [13]: pd.DataFrame(points, columns=Point._fields)
Out[13]:
x y
0 1 2
1 3 4
Предполагая, что все они одного типа, в этом примере все Point
s.