我有以下代码

expr = pl.when(False).then(None)

for pattern, replacement in replacement_rules.items():
    expr = expr.when(pl.col("data").str.contains(pattern))
    expr = expr.then(pl.lit(replacement))
   
expr = expr.when(pl.col("ISO_codes").str.len_chars() > 0)
expr = expr.then(            
    pl.col("ISO_codes")
      .replace(iso_translation, default="Unknown ISO Code")
)

The code works as intended, but Mypy is not too happy about it: enter image description here

我不明白如何在不丢失所有"类型不兼容"警告的情况下消除警告,或者重写代码以使其消失.

推荐答案

将类型提示expr明确为Any:

expr: Any = pl.when(False).then(None)

...或unions ,无论哪一个适合您:

expr: ChainedWhen | Then = pl.when(False).then(None)

Python相关问答推荐

对整个 pyramid 进行分组与对 pyramid 列子集进行分组

类型错误:输入类型不支持ufuncisnan-在执行Mann-Whitney U测试时[SOLVED]

海上重叠直方图

使用密钥字典重新配置嵌套字典密钥名

python中的解释会在后台调用函数吗?

无法连接到Keycloat服务器

需要帮助重新调整python fill_between与数据点

为什么np. exp(1000)给出溢出警告,而np. exp(—100000)没有给出下溢警告?

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

如何找出Pandas 图中的连续空值(NaN)?

替换现有列名中的字符,而不创建新列

当单元测试失败时,是否有一个惯例会抛出许多类似的错误消息?

使用类型提示进行类型转换

应用指定的规则构建数组

用0填充没有覆盖范围的垃圾箱

类型对象';敌人';没有属性';损害';

在任何要保留的字段中添加引号的文件,就像在Pandas 中一样

递归链表反转与打印语句挂起

在聚合中使用python-polars时如何计算模式

为什么在生成时间序列时,元组索引会超出范围?