rust 连接不同类型的色谱柱

qv7cva1a  于 2023-03-18  发布在  其他
关注(0)|答案(1)|浏览(133)

我有一个叫test.csv的csv文件,我正在使用polars阅读 Dataframe 。我有一个名称,月份,日期,年份作为我的标题,月份是一个字符串,日期/年份是i64。我想在rust中将这三列连接在一起,在pure rust中有一个叫date的单列。下面是我到目前为止将 Dataframe 打印到控制台的内容。

use polars::prelude::*;

fn read_from_file(path: &str) -> Result<DataFrame, Box<dyn std::error::Error>> {

    let df = CsvReader::from_path(path)?
        //.infer_schema(Some(100))
        .has_header(true)
        .finish()?;

    println!("{}", df);

   Ok(df)
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Read CSV file into a DataFrame
    read_from_file("./data/test.csv")?;
    Ok(())
}
nnt7mjpx

nnt7mjpx1#

在polars(和SQL)中,我们通过调用select来获取特定的列。

df.select([col("ham"), col("spam")]);

如果我没理解错的话,您希望使用另外3列的内容构建一列。我现在无法测试,但它应该如下所示

df.select([
    col("name"),
    concat_str([col("year"), col("month"), col("day")], "-")
]);

极性可能是复杂的。我强烈建议阅读documentation。你可以在这个页面找到一个concat_str的例子。

相关问题