你如何转换为 polars 中的 unsigned int?
How do you cast to an unsigned int in polars?
我尝试了 pl.col('foo').cast(np.uint32)
,但遇到了 NotImplementedError。
我问是因为 col.str.lengths()
returns 类型为 UInt32
的列和连接的列必须是同一类型。
Polars 不是 numpy,因此在投射时需要一个 polars dtype
。
>>> 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
。在这种情况下这会引发错误,因为我们不能将负整数转换为无符号整数。
我尝试了 pl.col('foo').cast(np.uint32)
,但遇到了 NotImplementedError。
我问是因为 col.str.lengths()
returns 类型为 UInt32
的列和连接的列必须是同一类型。
Polars 不是 numpy,因此在投射时需要一个 polars dtype
。
>>> 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
。在这种情况下这会引发错误,因为我们不能将负整数转换为无符号整数。