【问题标题】:How to specify a type hint for a Pandas series expression如何为 Pandas 系列表达式指定类型提示
【发布时间】:2021-12-18 01:34:12
【问题描述】:

我定义了带有类型提示的布尔表达式来匹配 pandas DataFrame 中的行。 PyCharm 代码检查工具会标记这些表达式。

例如,考虑下面的代码 sn-p,给定一个 DataFrame holdings,其中包含字段 IsCashWeight

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,因为它在代码中的多个位置使用。

我可以使用什么解决方法来确保代码通过检查?

【问题讨论】:

    标签: python pandas pycharm


    【解决方案1】:

    以下工作并通过代码检查:

    predicate_iscash: pandas.Series = holdings.IsCash == True
    predicate_short: pandas.Series = predicate_is_cash & holdings.Weight.le(0)
    

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 2020-03-11
      • 2017-01-18
      • 2018-03-31
      • 2016-10-16
      • 2017-01-13
      相关资源
      最近更新 更多