Home > Blockchain >  Python Type Issue - Pylance - Cannot access member "..." for type "..." Member &
Python Type Issue - Pylance - Cannot access member "..." for type "..." Member &

Time:01-06

I get the "Member is unknown" issue from Pylance in VSCode a lot.

For example: If I have a pandas DataFrame with a datetime index and do this:

df.index.month

I get:

Cannot access member "month" for type "Index" Member "month" is unknown

It seems to happen a lot when I access something with "."

The code works as intended, I just get these annoying errors in VSCode. Am I doing something wrong or is there a way to avoid these (without turning off type checking all together)?

CodePudding user response:

It is not perfect but now you only have 1 error:

pd.DataFrame is incompatible with DataFrameDTI

The month not member of Index errors are gone.

Define a sub class of pd.DataFrame and give the index property a different type.

class DataFrameDTI(pd.DataFrame):
  @property
  def index(self) -> pd.DatetimeIndex: ...
  @index.setter
  def index(self, idx: pd.DatetimeIndex) -> None: ...

# .....

df2 : DataFrameDTI = df.set_index(datetime_index)

print(df2.index.month)
  • Related