如何在Rust中垂直拼接两个Polars DataFrame?
在Rust中使用Polars实现DataFrame垂直拼接
对应你给出的Python中Polars垂直拼接DataFrame的逻辑,在Rust版本的Polars里,可通过DataFrame::concat方法完成相同的垂直拼接操作,具体实现如下:
代码示例
use polars::prelude::*; fn main() -> Result<(), Box<dyn std::error::Error>> { // 创建第一个DataFrame let df_v1 = DataFrame::new(vec![ Series::new("a", &[1i64]), Series::new("b", &[3i64]), ])?; // 创建第二个DataFrame let df_v2 = DataFrame::new(vec![ Series::new("a", &[2i64]), Series::new("b", &[4i64]), ])?; // 垂直拼接两个DataFrame let df_vertical_concat = DataFrame::concat(&[df_v1, df_v2], true, false)?; // 打印拼接结果 println!("{}", df_vertical_concat); Ok(()) }
参数说明
DataFrame::concat的第一个参数是待拼接的DataFrame切片;- 第二个参数设为
true,代表执行垂直拼接(对应Python中的how="vertical"); - 第三个参数
false表示不强制重新分配内存优化结构,若需要后续性能优化可改为true。
输出结果
shape: (2, 2) ┌─────┬─────┐ │ a ┆ b │ │ --- ┆ --- │ │ i64 ┆ i64 │ ╞═════╪═════╡ │ 1 ┆ 3 │ ├╌╌╌╌╌┼╌╌╌╌╌┤ │ 2 ┆ 4 │ └─────┴─────┘
内容的提问来源于stack exchange,提问作者Darnock
相关产品推荐
相关产品推荐

