|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
3 | 3 | from dataclasses import asdict |
4 | | -from typing import Generator, Iterator, Sequence |
| 4 | +from typing import Generator, Iterator, Sequence, cast |
5 | 5 |
|
6 | 6 | import pandas as pd |
7 | | -from pandera.typing import DataFrame |
| 7 | +from pandera.typing.pandas import DataFrame |
8 | 8 |
|
9 | 9 | from order_matching.order import Order |
10 | 10 | from order_matching.schemas import OrderDataSchema |
@@ -63,20 +63,23 @@ def to_frame(self) -> DataFrame[OrderDataSchema]: |
63 | 63 | DataFrame[OrderDataSchema] |
64 | 64 | """ |
65 | 65 | if len(self.orders) == 0: |
66 | | - return pd.DataFrame() |
| 66 | + return cast(DataFrame[OrderDataSchema], pd.DataFrame()) |
67 | 67 | else: |
68 | | - return pd.DataFrame.from_records([asdict(order) for order in self.orders]).assign( |
69 | | - **{ |
70 | | - OrderDataSchema.side: lambda df: df[OrderDataSchema.side].astype(str), |
71 | | - OrderDataSchema.execution: lambda df: df[OrderDataSchema.execution].astype(str), |
72 | | - OrderDataSchema.status: lambda df: df[OrderDataSchema.status].astype(str), |
73 | | - OrderDataSchema.timestamp: lambda df: pd.to_datetime( |
74 | | - df[OrderDataSchema.timestamp], errors="coerce" |
75 | | - ), |
76 | | - OrderDataSchema.expiration: lambda df: pd.to_datetime( |
77 | | - df[OrderDataSchema.expiration], errors="coerce" |
78 | | - ), |
79 | | - } |
| 68 | + return cast( |
| 69 | + DataFrame[OrderDataSchema], |
| 70 | + pd.DataFrame.from_records([asdict(order) for order in self.orders]).assign( |
| 71 | + **{ |
| 72 | + OrderDataSchema.side: lambda df: df[OrderDataSchema.side].astype(str), |
| 73 | + OrderDataSchema.execution: lambda df: df[OrderDataSchema.execution].astype(str), |
| 74 | + OrderDataSchema.status: lambda df: df[OrderDataSchema.status].astype(str), |
| 75 | + OrderDataSchema.timestamp: lambda df: pd.to_datetime( |
| 76 | + df[OrderDataSchema.timestamp], errors="coerce" |
| 77 | + ), |
| 78 | + OrderDataSchema.expiration: lambda df: pd.to_datetime( |
| 79 | + df[OrderDataSchema.expiration], errors="coerce" |
| 80 | + ), |
| 81 | + } |
| 82 | + ), |
80 | 83 | ) |
81 | 84 |
|
82 | 85 | @property |
|
0 commit comments