list - 遍历 pandas 数据框并附加到列表
问题描述
我有一个熊猫数据框 df
Date SKU Balance
0 1/1/2017 X1 8
1 2/1/2017 X2 45
2 3/1/2017 X1 47
3 4/1/2017 X2 16
4 5/1/2017 X1 14
5 6/1/2017 X2 67
6 7/1/2017 X2 9
8 8/1/2017 X1 66
9 9/1/2017 X1 158
我想打破它并将其附加到一个列表中,以便列表中的每个项目都是数据框 4 天的集合
例如
列表[1]
Date SKU Balance
0 1/1/2017 X1 8
1 2/1/2017 X2 45
2 3/1/2017 X1 47
3 4/1/2017 X2 16
列表[2]
Date SKU Balance
0 2/1/2017 X2 45
1 3/1/2017 X1 47
2 4/1/2017 X2 16
3 5/1/2017 X1 14
目前我只能通过以下代码为每个列表附加一天来实现
dr = pd.date_range('20170101','20170109')
list=[]
for d in dr:
list.append(df.loc[df.Date.isin([d])])
如上所述,如何在一个列表中从第一天追加 4 天并将其循环到第二天,再追加 4 天的行等等。
非常感谢您的帮助
解决方案
你可以试试np.roll
l=[]
a=df.index.values
for x in a:
l.append(df.loc[a[:4]])
a=np.roll(a,-1)
推荐阅读
- python - 双指数平滑 (DES) 在 R 和 Python 中产生不同的结果?
- r - 如何将向量化事务转换为二进制矩阵事务
- microsoft-graph-api - 如果有人授予访问日历的权限,如何访问 Office 365 日历?
- macos - facebook chrome中的Mac OS X Mojave问题
- nlp - 文本的语义表示
- javascript - 如何根据url设置jquery ajax headers授权?
- excel - Excel 插件未显示
- deep-learning - 检查失败:错误 == cudaSuccess (74 vs. 0) 地址未对齐
- python-3.x - 在循环中获取元素的 Selenuim Python 问题
- javascript - Java selenium javascript执行程序返回空数组