迭代 pandas Dataframe 的块

问题描述 投票:0回答:1

我有一个 pandas.DataFrame ,如下所示:

星期一 星期二 周三 星期四 周五
A市 100 300 x z w
B市 200 400 y q p
星期一 星期二 周三 星期四 周五
A市 150 320 a c e
B市 210 470 z t q
C市 260 446 b d f

重复此操作,直到覆盖一年中的所有周(它基本上是包含数据的周历)。

我希望以块的形式循环遍历 DataFrame,并对这些块中的数据执行一些操作。

如果有意义的话,这些块应该基本上是“每周”高和“每周到周五”宽。但是,正如您所看到的,块的大小并不相同,因此我无法将大小硬编码为 4x6。不过,他们总是从“周”到“周”,一直向右到“星期五”。

有什么直观的方法可以迭代我的 DataFrame 吗?如有任何帮助,我们将不胜感激。

python pandas dataframe loops iteration
1个回答
1
投票

你可以尝试:

df['week_index'] = df.isna().all(axis='columns').astype(int).cumsum()
for _, df_chunk in df.grouprby('week_index'):
    # do something
© www.soinside.com 2019 - 2024. All rights reserved.