【发布时间】:2020-05-07 07:32:24
【问题描述】:
我有一个形状为 - (133, 6) 的 Pandas DataFrame
- 我正在尝试使用 iloc 迭代框架,然后选择数据块并将其附加到列表中。
我有一个起始位置列表:
start_positions = [6, 32, 58, 84, 110]
结束位置是+7行,所以我试过这个:
frames = []
for x in start_positions:
frames.append(df.iloc[start_positions[x] : start_positions[x]+7])
不过是扔:
IndexError: index 6 is out of bounds for axis 0 with size 5
如果我手动递增 start_positions,我不太明白这一点。
【问题讨论】:
-
你想从这段代码@Maverick 中实现什么?
-
每一块代表一年的数据,每一列代表一个不同的类别。所以目的是提取数据并将其存储在与年份相对应的不同位置。
-
for x in start_positions:x 不是索引!您使用start_positions[x],因此您会看到错误。忘记数据框,您尝试索引列表本身时会出现问题。 -
这能回答你的问题吗? Python Loop: List Index Out of Range
标签: python python-3.x pandas