python - 将两个下一行数据添加到 Pandas 中的当前行
问题描述
我有一个股票数据框:
Date Open High Low Close Volume
0 01.05.2018 1.20821 1.20821 1.20793 1.20794 138.96
1 01.05.2018 1.20794 1.20795 1.20787 1.20788 119.61
2 01.05.2018 1.20788 1.20793 1.20770 1.20779 210.42
3 01.05.2018 1.20779 1.20791 1.20779 1.20789 77.51
4 01.05.2018 1.20789 1.20795 1.20789 1.20792 56.97
我想将接下来的两行复制到当前行。或更清楚地说,新数据框中的每一行都应该有接下来的两行数据。
解决方案
利用pd.concat
pd.concat({i: df.shift(-i) for i in range(3)}, axis=1)
广义的
n = 3
pd.concat({i: df.shift(-i) for i in range(n)}, axis=1).iloc[:len(df) - n + 1]
推荐阅读
- android - 如何在缺口设备中使 exoplayer 全屏显示
- angular - 角度路由参数问题
- javascript - 值高于 var 的猫鼬 findOne()
- c# - 循环遍历 IEnumerable 并将它们传递给具有多个 if/else 条件的模型
- python - 在heroku上部署Django应用程序时没有名为'config.settings'的模块(仍然没有从其他问题得到答案)
- flutter - 当我在flutter中使用sharedpreference离线保存对象列表时,它会自动转换为字符串......输出如下
- git - Windows 上 git-bash 的奇怪 git 行为
- go - Golang::=语法左侧的预期标识符
- html - 如何更改 svg 图标的笔画宽度?
- excel - Excel 连接函数