我是新的极地,但已经与Pandas 和numpy相当多.假设我有一个类似这样的框架:

Column 1 Column 2 Column 3 Column 4 Column 5 Column 6
A 1 W B 2 X
C 3 Y D 4 Z

我想做一些类似df.rehape((-1,3))(In NumPy)的事情,以获得:

Column 1 Column 2 Column 3
A 1 W
B 2 X
C 3 Y
D 4 Z

然而,我还没能在极点中找到类似的函数.当然,在这种情况下df.melt()不起作用,执行df=pl.DataFrame(df.to_numpy().reshape((-1,3)似乎不是最佳解决方案.会很感激大家的帮助的!

翻阅了文件,但无济于事.

推荐答案

我不认为北极星在上面概述的情况下有专门的reshape功能.但是,您可以组合pl.concat来连接使用pl.DataFrame.select创建的数据帧片段.

pl.concat([
    df.select("Column 1", "Column 2", "Column 3"),
    df.select(
        pl.col("Column 4").alias("Column 1"),
        pl.col("Column 5").alias("Column 2"),
        pl.col("Column 6").alias("Column 3"),
    ),
])

Output.

shape: (4, 3)
┌──────────┬──────────┬──────────┐
│ Column 1 ┆ Column 2 ┆ Column 3 │
│ ---      ┆ ---      ┆ ---      │
│ str      ┆ i64      ┆ str      │
╞══════════╪══════════╪══════════╡
│ A        ┆ 1        ┆ W        │
│ C        ┆ 3        ┆ Y        │
│ B        ┆ 2        ┆ X        │
│ D        ┆ 4        ┆ Z        │
└──────────┴──────────┴──────────┘

Python相关问答推荐

根据不同列的值在收件箱中移动数据

Polars LazyFrame在收集后未返回指定的模式顺序

运行总计基于多列pandas的分组和总和

计算组中唯一值的数量

我如何使法国在 map 中完全透明的代码?

多处理队列在与Forking http.server一起使用时随机跳过项目

在两极中过滤

以逻辑方式获取自己的pyproject.toml依赖项

numpy.unique如何消除重复列?

将标签移动到matplotlib饼图中楔形块的开始处

为什么我的sundaram筛这么低效

如何在Great Table中处理inf和nans

Discord.py -

获取git修订版中每个文件的最后修改时间的最有效方法是什么?

当输入是字典时,`pandas. concat`如何工作?

如何用FFT确定频变幅值

函数()参数';代码';必须是代码而不是字符串

Python:在cmd中添加参数时的语法

将Pandas DataFrame中的列名的长文本打断/换行为_STRING输出?

Python:使用asyncio.StreamReader.readline()读取长行