0

我试过pl.col('foo').cast(np.uint32)了,我得到了一个 NotImplementedError。

我问是因为col.str.lengths()返回一个类型的列,UInt32并且列需要是相同的连接类型。

4

1 回答 1

2

Polars 不是 numpy,所以在投射dtype时需要使用 Polars。

>>> s = pl.Series("a", [-1, 0, 1, 2, 3])
>>> s
shape: (5,)
Series: 'a' [i64]
[
    -1
    0
    1
    2
    3
]
>>> s.cast(pl.UInt32, strict=False)
shape: (5,)
Series: 'a' [u32]
[
    null
    0
    1
    2
    3
]

默认的强制转换行为是strict. 在这种情况下这会引发错误,因为我们不能将负整数转换为无符号整数。

于 2022-01-07T17:24:39.933 回答