python - 熊猫 - 单列问题内的划分
问题描述
我有一列由日期时间索引的 float64 数据。我需要将一行除以它之前的行。
在下面的实例中,我需要从 1.1133/1.1134 的数据框中开始,然后获取结果并将其存储在新列中。然后向下移动一行并重复。
在 excel 中,你可以很容易地做到这一点,比如 B2/B3 并将其向下拖动。有没有我可以在 Pandas Dataframe 中使用的方法来模仿这个?我尝试了各种带有除法功能的配置,但没有好的结果。对此的任何帮助都会很好地为我指明正确的方向。
Time Close
4/26/2019 11:08 1.1133
4/26/2019 11:07 1.1134
4/26/2019 11:06 1.1135
4/26/2019 11:05 1.1135
4/26/2019 11:04 1.1135
4/26/2019 11:03 1.1135
解决方案
您可以分三个步骤执行此操作:
- 重复数据框
- 移动重复的数据框(将索引移动一行)
- 基于减法创建新列
df["new_columns"] = (df["Close"] / df["Close"].shift(1))
我不确定您是否正在按给定值查找shift(1)
或shift(-1)
shift
移动所有索引。
推荐阅读
- r - 在 scale_fill_gradientn 中使用绝对值而不是相对值
- java - Java Jsoup 提交表单
- r - 创建带有分面的箱线图
- excel - 从样本表中提取数据,另一张表告诉数据乘以什么因素以及何时提取
- python - .py Python 文件是否包含元数据?
- python - (Matplotlib) 设置第一个 x 刻度 (0) 和 y 轴的空间
- google-sheets - 在谷歌表格的过滤视图中获取前一个单元格的值
- python - 解析 cifar-10 并将 imgs 更改为 HSV
- jetbrains-ide - 重命名 JetBrains Toolbox 中显示的项目名称
- r - 如何在 R 中使用字符串搜索从大型 SpatialPolygonsDataFrame 中删除多边形子集?