My function returns a pandas series, where all elements have a specific type (say str
). The following MWE should give an impression:
import pandas as pd
def f() -> pd.Series:
return pd.Series(['a', 'b'])
Within the type hints I want to make clear, that f()[0]
will always be of type str
(compared for example to a function that would returnpd.Series([0, 1])
). I did this:
def f() -> pd.Series[str]:
But
TypeError: 'type' object is not subscriptable
So, how to specify the type of pandas series elements in type hints?. Any ideas?
You can utilize typing.TypeVar
to accomplish this:
from typing import (
TypeVar
)
SeriesString = TypeVar('pandas.core.series.Series(str)')
def f() -> SeriesString:
Unfortunately Python's type hinting does not support this out of the shelf. Nonetheless, you can always make use of dataenforce
library (link) to add hints or even enforce validation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With