Suppose I have a DataFrame including following columns "NAME", "SURNAME", "AGE" and I would like to create one object for each row, including those column values as its variables.
person = ConvertRow2Object(frame.iloc[0,:])
print person.NAME //outputs Gary
How can I do it with a generic solution to any DataFrame with any kind of column names and data types?
You can convert the whole thing to a numpy recarray, then each record in the array is attributed:
people = frame.to_records()
person = people[0]
print person.NAME # etc...
Using a namedtuple also seems to work:
from collections import namedtuple
Person = namedtuple('Person', frame.dtypes.index.tolist())
person = Person(*frame.iloc[0,:])
print person.NAME # etc...