【发布时间】:2021-12-18 01:34:12
【问题描述】:
我定义了带有类型提示的布尔表达式来匹配 pandas DataFrame 中的行。 PyCharm 代码检查工具会标记这些表达式。
例如,考虑下面的代码 sn-p,给定一个 DataFrame holdings,其中包含字段 IsCash 和 Weight:
predicate_iscash: pandas.Series = holdings.IsCash == True
predicate_short: pandas.Series = predicate_is_cash & (holdings.Weight < 0)
代码检查器标记第二行并带有以下警告:
Unexpected type(s): (Series) Possible type(s): (bool) (int)
奇怪的是,下面的语句没有被标记:
predicate_short: pandas.Series = (holdings.IsCash == True) & (holdings.Weight < 0)
但是,我不想内联 predicate_iscash,因为它在代码中的多个位置使用。
我可以使用什么解决方法来确保代码通过检查?
【问题讨论】: