Pandas DataFrame迭代切片

5

我想对具有多个切片索引的 DataFrame 执行一些操作。模式是 df.iloc[0:24],df.iloc[24:48],df.iloc[48:72] 等,步骤为 24。我如何在不手动设置每次的情况下进行迭代。更像是 df.iloc[x:z],每个迭代 x=0,z=24,下一个迭代将以 24 步为基础,x 将为 24,z=48 等等。

谢谢提前, Hristo。


df.iloc[::24] 这是一个非常基本的索引问题,你真的应该查一下切片符号。 - cs95
1
不,伙计,我对切片没有问题。但是我需要从0-24获取特定的数据框切片部分并执行一些操作,然后df[24:48]并对该切片部分执行一些操作,因此我需要迭代每个切片的DF并执行一些操作。 - Hristo Stoychev
好的,没问题。抱歉。 - cs95
2个回答

12

for 循环迭代

for i in range(0, len(df), 24):
    slc = df.iloc[i : i + 24]

groupby

df.groupby(df.index // 24 * 24).apply(your_function)

对于for循环,加1,只想备注一下:“slc”是包含迭代的切片数据框,因此所有操作都是针对“slc”执行的。 - n1tk

1
输出结果将会给出带有df的内容。
for i in range(0,len(df)):
  dfnew = df.iloc[i : i + 42]
  i = i + 1
  print(dfnew)

0到41索引数据 1到42 2到43 通过跳过第一行整个数据,限制42行的数据。


尽管这不是 OP 需要的解决方案,但我肯定需要,谢谢。 - NoahVerner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接