python - 如何在熊猫中滚动非重叠窗口
问题描述
我的数据框看起来像:
c1
0 10
1 11
2 12
3 13
4 14
5 15
6 16
7 17
我想找到每 3 行的最小值。看起来像:
c1 min
0 10 10
1 11 10
2 12 10
3 13 13
4 14 13
5 15 13
6 16 16
7 17 16
并且行数可能不能被3整除。我无法通过滚动功能实现它。
解决方案
如果存在默认索引值,请使用整数除法3
并传递给GroupBy.transform
with min
:
df['min'] = df['c1'].groupby(df.index // 3).transform('min')
或者如果有任何index
生成助手np.arange
:
df['min'] = df['c1'].groupby(np.arange(len(df)) // 3).transform('min')
print (df)
c1 min
0 10 10
1 11 10
2 12 10
3 13 13
4 14 13
5 15 13
6 16 16
7 17 16
推荐阅读
- graph - Pytorch 几何图分类:AttributeError:'Batch' 对象没有属性'local_var'
- java - 无法从子类访问方法
- java - 如何避免丢失 Post 请求数据
- asp.net - 如何在 VB ASP.Net 中将图像文件制作为 ImageUrl
- ms-access - 在 Access 中加入包含非 ansi 字符的列
- c - 什么可能导致 C 跳过 return 语句?
- git - Git 克隆私有 github 仓库
- windows - 如何为不同的项目类型使用相同的字符串资源
- sql - 展平sql分层数据
- java - Java/Scala - 将 xml 转换为 json