patito.Relation.__iter__
- Relation.__iter__()
Iterate over rows in relation.
If Relation.set_model() has been invoked first, the given model will be used to deserialize each row. Otherwise a Patito model is dynamically constructed which fits the schema of the relation.
- Returns
An iterator of patito Model objects representing each row.
- Return type
Iterator[Model]
Example
>>> from typing import Literal >>> import patito as pt >>> df = pt.DataFrame({"float_column": [1, 2], "enum_column": ["A", "B"]}) >>> relation = pt.Relation(df).set_alias("my_relation") >>> for row in relation: ... print(row) ... float_column=1 enum_column='A' float_column=2 enum_column='B' >>> list(relation) [my_relation(float_column=1, enum_column='A'), my_relation(float_column=2, enum_column='B')]
>>> class MySchema(pt.Model): ... float_column: float ... enum_column: Literal["A", "B", "C"] ... >>> relation = relation.set_model(MySchema) >>> for row in relation: ... print(row) ... float_column=1.0 enum_column='A' float_column=2.0 enum_column='B' >>> list(relation) [MySchema(float_column=1.0, enum_column='A'), MySchema(float_column=2.0, enum_column='B')]