【问题标题】:Pandas Dataframe groupby with overlappingPandas Dataframe groupby 重叠
【发布时间】:2021-06-28 18:39:29
【问题描述】:

我正在使用 pandas 数据框来读取包含用于机器学习的数据点的 csv。我试图想出一种方法,让我可以索引一个数据框,它会在其中获取该索引和接下来的 N 行。我不想将数据框分组到没有重叠的箱中(即索引 0:4、4:8 等)我想要的是得到这样的结果:索引 0:4、1:5、 2:6等这将如何完成?

【问题讨论】:

  • 查看滚动窗口函数。
  • @Kyle,这正是我想要的。那么我如何能够获取这些窗口并使它们可索引,以便我可以获得索引 x 和之后的 N 行数?
  • 为了清楚起见,请考虑添加更多详细信息。一个最小的可重现代码也会有很大帮助。

标签: python pandas dataframe


【解决方案1】:

也许您可以创建一个 DataFrame 列表,例如:

import pandas as pd
import numpy as np

nrows = 7
group_size = 5

df = pd.DataFrame({'col1': np.random.randint(0, 10, nrows)})
print(df)

grp = [df.iloc[x:x+5,] for x in range(df.shape[0] - group_size + 1)]
print(grp[1])

原始数据框:

   col1
0     2
1     6
2     6
3     5
4     3
5     3
6     8

DataFrames 列表中的第二个 DataFrame:

   col1
1     6
2     6
3     5
4     3
5     3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 2021-05-18
    • 2023-03-25
    • 2019-01-31
    • 2019-06-16
    • 1970-01-01
    • 2020-03-30
    相关资源
    最近更新 更多