首页 > 解决方案 > 熊猫 - 单列问题内的划分

问题描述

我有一列由日期时间索引的 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

标签: pythonpandasdivide

解决方案


您可以分三个步骤执行此操作:

  1. 重复数据框
  2. 移动重复的数据框(将索引移动一行)
  3. 基于减法创建新列

df["new_columns"] = (df["Close"] / df["Close"].shift(1))

我不确定您是否正在按给定值查找shift(1)shift(-1) shift移动所有索引。


推荐阅读