gpt4 book ai didi

python - 动态创建连续数字的嵌套列表

转载 作者:行者123 更新时间:2023-12-02 02:22:10 24 4
gpt4 key购买 nike

我有一个数据帧,它是另一个数据帧的子集,包含以下索引:45、46、47、51、52

示例数据框:

      price  count
45 3909.0 8
46 3908.75 8
47 3908.50 8
51 3907.75 8
52 3907.5 8

我想创建 2 个列表,每个列表都有自己的顺序索引列表。 (该数据格式示例)

list[0] = [45, 46, 47]
list[1] = [51, 52]

问题:以下代码导致倒数第二行出现此错误:

IndexError: list assignment index out of range

        same_width_nodes = df.loc[df['count'] == width]
i = same_width_nodes.index[0]
seq = 0
sequences = [[]]
sequences[seq] = []

for index, row in same_width_nodes.iterrows():
if i == index:
i += 1
sequences[seq].append(index)
else:
seq += 1
sequences[seq] = [index]
i = index

也许有更好的方法来实现这一点,但我想知道为什么我不能像我在这里所做的那样在 sequences 列表中创建新项目,以及我应该如何做正在做。

最佳答案

你可以使用这个:

s_index=df.index.to_series()
l = s_index.groupby(s_index.diff().ne(1).cumsum()).agg(list).to_numpy()

输出:

l[0]
[45, 46, 47]

l[1]
[51, 52]

关于python - 动态创建连续数字的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66233259/

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