Предположим, у меня есть DataFrame, включающий следующие столбцы «ИМЯ», «ФАМИЛИЯ», «ВОЗРАСТ», и я хотел бы создать по одному объекту для каждой строки, включая значения этих столбцов в качестве переменных.
person = ConvertRow2Object(frame.iloc[0,:])
print person.NAME //outputs Gary
Как я могу сделать это с помощью универсального решения для любого DataFrame с любыми именами столбцов и типами данных?
1 ответ
Вы можете преобразовать все это в numpy recarray, тогда каждая запись в массиве будет атрибутирована:
people = frame.to_records()
person = people[0]
print person.NAME // ...
Кажется, также работает использование namedtuple:
from collections import namedtuple
Person = namedtuple('Person', frame.dtypes.index.tolist())
person = Person(*frame.iloc[0,:])
print person.NAME // ...
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
person['name']
)?