"use strict";
const pl = require("nodejs-polars");
const fs = require("fs");
async function main() {
const fileContent = fs.readFileSync("./polars.csv");
let df = await pl.readCSV(fileContent.toString());
let filteredDf = df
.filter(
pl
.col("Forecast indicator")
.eq("Actual")
.and(
pl
.col("Segment")
.eq("Consumer")
.and(pl.col("Month of Order Date").eq("February 2022"))
)
)
.select(pl.col("Sales").apply((value) => value.replace("$", ""), "object"));
console.log("filteredDf: ", filteredDf);
}
main();
我有这段代码,其中
Forecast indicator
是 csv 的列名称之一。虽然 df
(数据帧)正确生成,但 filteredDf
失败并出现错误:Error: not found: unable to find column "Actual"
。
有人可以帮忙吗?
“预测指标”、“细分市场”、“销售额”是此处的列名称(csv 标题) “Actual”、“Consumer”、“$2342342”等分别是它们所持有的值。
我正在遵循文档(恕我直言,没有抱怨,但对我个人来说看起来不太用户友好,参考:https://pola-rs.github.io/nodejs-polars/index.html),我已经迷失在他们的文档中了。在所有地方,他们都指示使用相同的方法来使列相等,即
pl.col('Forecast indicator').eq('Actual')
。
如果您需要我提供与我正在使用的代码相关的更多详细信息,请告知!很高兴提供这些。
感谢您的宝贵时间!
你在
pl.lit
中缺少
.eq(pl.lit("Actual"))