python 将UTF8转换为极性中的布尔值

8zzbczxx  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(146)

将包含"true"和"false"值的dtype utf8列转换为dtype Boolean的最佳方法是什么?

Map_字典

此解决方案有效

df.with_column(
    pl.col("bool_col").map_dict({"false":False, "true":True})
)

直接铸造

df["bool_col"].cast(pl.Boolean).unique()

导致

ArrowErrorException: NotYetImplemented("Casting from LargeUtf8 to Boolean not supported")

间接强制转换

我们的想法是通过分类数据类型,但这只会导致真值
一个三个三个一个

wwodge7n

wwodge7n1#

你不能和'true'字面量比较吗?

In [42]: df = pl.DataFrame({'sensorvalue': ['true', 'false', 'true']})

In [43]: df
Out[43]:
shape: (3, 1)
┌─────────────┐
│ sensorvalue │
│ ---         │
│ str         │
╞═════════════╡
│ true        │
│ false       │
│ true        │
└─────────────┘

In [44]: df.with_columns(pl.col('sensorvalue')=='true')
Out[44]:
shape: (3, 1)
┌─────────────┐
│ sensorvalue │
│ ---         │
│ bool        │
╞═════════════╡
│ true        │
│ false       │
│ true        │
└─────────────┘

相关问题