如何在nodejs-polars中调用ListNamespace相关函数?
如何在nodejs-polars中调用ListNamespace相关函数?
我完全懂你碰到的这个坑!Node.js版的Polars和Python版在List类型方法的命名上确实有小差异,而且目前官方文档对ListNamespace的覆盖确实不够完善,难怪你查不到资料。
针对你要实现的“判断列表是否包含指定值”的需求,在nodejs-polars里应该用includes方法代替Python里的contains,而且记得给新列起别名来对应你想要的列名。下面是可以直接运行的示例代码:
const pl = require('nodejs-polars'); // 构造DataFrame let df = pl.DataFrame({ "a": [[3, 2, 1], [], [1, 2]] }) // 添加判断列,用includes替代contains,并用alias指定列名 .withColumn(pl.col("a").list.includes(1).alias("contains")); // 打印结果 console.log(df.toString());
运行这段代码后,你会得到和Python版完全一致的结果:
shape: (3, 2) ┌───────────┬──────────┐ │ a ┆ contains │ │ --- ┆ --- │ │ list[i64] ┆ bool │ ╞═══════════╪══════════╡ │ [3, 2, 1] ┆ true │ │ [] ┆ false │ │ [1, 2] ┆ true │ └───────────┴──────────┘
如果还是出现方法不存在的错误,建议你检查一下nodejs-polars的版本,升级到最新的稳定版——早期版本的ListNamespace确实有不少方法还没实现或者命名不一致。
备注:内容来源于stack exchange,提问作者user29710940




