gpt4 book ai didi

python-polars - 创建基于行的列值的副本

转载 作者:行者123 更新时间:2023-12-02 15:43:07 26 4
gpt4 key购买 nike

我正在尝试构建一些极地数据的直方图。作为直方图代码的一部分,我需要复制一些行。我有一列值,其中每一行还有一个权重,表示该行应添加到直方图中的次数。

如何根据 weight 列复制我的 value 行?

这是一些示例数据,带有目标系列:

import polars as pl

df = pl.DataFrame({"value":[1,2,3], "weight":[2, 2, 1]})

print(df)
# shape: (3, 2)
# ┌───────┬────────┐
# │ value ┆ weight │
# │ --- ┆ --- │
# │ i64 ┆ i64 │
# ╞═══════╪════════╡
# │ 1 ┆ 2 │
# │ 2 ┆ 2 │
# │ 3 ┆ 1 │
# └───────┴────────┘

s_target = pl.Series(name="value", values=[1,1,2,2,3])
print(s_target)
# shape: (5,)
# Series: 'value' [i64]
# [
# 1
# 1
# 2
# 2
# 3
# ]

最佳答案

怎么样

(
df.with_columns(
pl.col("value").repeat_by(pl.col("weight"))
)
.select(pl.col("value").arr.explode())
)
In [11]: df.with_columns(pl.col('value').repeat_by(pl.col('weight'))).select(pl.col('value').arr.explode())
Out[11]:
shape: (5, 1)
┌───────┐
│ value │
│ --- │
│ i64 │
╞═══════╡
│ 1 │
│ 1 │
│ 2 │
│ 2 │
│ 3 │
└───────┘

我不知道你可以这么轻松地做到这一点,我只是在写答案时才知道的。 Polars 太棒了:)

关于python-polars - 创建基于行的列值的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75448985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com