如何在Python的Polars DataFrame中添加空列表列?
在Polars DataFrame中添加空列表列的正确方式
你遇到的错误是因为Polars无法自动推断空列表[]的元素类型,直接用pl.lit([])会触发类型推断失败。以下几种方法可以解决这个问题:
方法1:给
pl.lit显式指定数据类型
明确声明列表的内部元素类型,比如未来要存整数就用pl.List(pl.Int32):import polars as pl a = pl.DataFrame({'a': [1, 2, 3]}) a = a.with_columns(pl.lit([], dtype=pl.List(pl.Int32)).alias('b'))方法2:用
pl.Series构造空列表列
直接创建对应行数的空列表Series并指定类型:import polars as pl a = pl.DataFrame({'a': [1, 2, 3]}) empty_col = pl.Series([[]]*len(a), dtype=pl.List(pl.Int32)) a = a.with_columns(empty_col.alias('b'))方法3:用
pl.repeat批量生成
无需手动计算行数,用pl.repeat自动匹配原DataFrame的行数:import polars as pl a = pl.DataFrame({'a': [1, 2, 3]}) a = a.with_columns(pl.repeat([], n=pl.count(), dtype=pl.List(pl.Int32)).alias('b'))
注意:示例中的pl.List(pl.Int32)可按需调整,比如存字符串用pl.List(pl.Utf8)、存浮点数用pl.List(pl.Float64)等。
内容的提问来源于stack exchange,提问作者Dimitrius
相关产品推荐
相关产品推荐

