gpt4 book ai didi

python - 根据另一个 Pandas 系列的索引从 Pandas 系列中提取数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:49 24 4
gpt4 key购买 nike

Pandas 系列共有三个

x = pd.Series([220,340,500,600,700,900,540,60])
y = pd.Series([2,1,2,2,1])
z = pd.Series([])

y的每个元素表示要添加多少个元素放入z中示例:如果系列开头有 2,那么我将在开头添加前两个元素 220 和 340 以获得 560,然后将其放入 z 作为其第一个元素。接下来我在 y 中有 1,这意味着我将从 x(第三个元素)中取出 500,并将其作为第二个元素放入 z 中,依此类推

这是我尝试过的

j = 0
for i in y:
par = y[i]
z[i] = x[j:par + j].sum()
j = j+par

最佳答案

Groupby y 的索引重复:

x.groupby(y.index.repeat(y)).sum()

0 560
1 500
2 1300
3 1440
4 60
dtype: int64

如果长度不匹配,这将导致 ValueError。在这种情况下,更安全的替代方法是对 cumsum 进行分组,重复并重置索引:

x.groupby(y.cumsum().repeat(y).reset_index(drop=True)).sum()

关于python - 根据另一个 Pandas 系列的索引从 Pandas 系列中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56284445/

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