I have some data structed as showed at the first picture. Where I like to restructure the dataframe. initial data: Short piece of the initial data:

id time value
2050 02-01 20
2051 02-01 25
2050 02-02 21
2051 02-02 22
2051 02-03 23

我希望重构的DataFrame有一个时间戳列,然后每个外部gid都有一个列.我曾用Pandas 做过,但由于文件相当大,而且必须多次使用,由于速度快,我想用极地来做.

预期输出:

time 2050 2051
02-01 20 25
02-02 21 22
02-03 nan 23

我try 过使用GROUPBY函数和Join/hSTACK/CONCAT.但在try 使用LazyFrame时似乎遇到了问题.

谢谢

生成数据的步骤如下:

import polars as pl

lf = pl.DataFrame({'id': [2050, 2051, 2050, 2051, 2051],
                    'time': ['2023-05-01',
                             '2023-05-01',
                             '2023-05-02',
                             '2023-05-02',
                             '2023-05-03'],
                   'value': [20, 25, 21, 22, 23]})
lf = lf.with_columns(pl.col("time").str.to_datetime("%Y-%m-%d"))

推荐答案

你应该以此为中心;

In [29]: lf.pivot(columns='id', values='value', index='time', aggregate_function=None)
Out[29]:
shape: (3, 3)
┌─────────────────────┬──────┬──────┐
│ time                ┆ 2050 ┆ 2051 │
│ ---                 ┆ ---  ┆ ---  │
│ datetime[μs]        ┆ i64  ┆ i64  │
╞═════════════════════╪══════╪══════╡
│ 2023-05-01 00:00:00 ┆ 20   ┆ 25   │
│ 2023-05-02 00:00:00 ┆ 21   ┆ 22   │
│ 2023-05-03 00:00:00 ┆ null ┆ 23   │
└─────────────────────┴──────┴──────┘

Python相关问答推荐

如何在Python中使用ijson解析SON期间检索文件位置?

从包含数字和单词的文件中读取和获取数据集

在Python中为变量的缺失值创建虚拟值

在Pandas框架中截短至固定数量的列

如何在图片中找到这个化学测试条?OpenCV精明边缘检测不会绘制边界框

追溯(最近最后一次调用):文件C:\Users\Diplom/PycharmProject\Yolo01\Roboflow-4.py,第4行,在模块导入roboflow中

通过Selenium从页面获取所有H2元素

Python库:可选地支持numpy类型,而不依赖于numpy

如何从.cgi网站刮一张表到rame?

移动条情节旁边的半小提琴情节在海运

连接一个rabrame和另一个1d rabrame不是问题,但当使用[...]'运算符会产生不同的结果

如何在表中添加重复的列?

计算分布的标准差

Tkinter菜单自发添加额外项目

人口全部乱序 - Python—Matplotlib—映射

Gekko中基于时间的间隔约束

Discord.py -

如何在Python中解析特定的文本,这些文本包含了同一行中的所有内容,

Polars时间戳同步延迟计算

对数据帧进行分组,并按组间等概率抽样n行