根据另一列中的两行计算数据框列

克拉拉夫

我有一个数据框,其中包含一列包含价格的列。创建列来计算两行之间的收益率(保留第一个或最后一个Null)的最佳方法是什么?

例如,数据框如下所示:

    Date        Price
2008-11-21    23.400000
2008-11-24    26.990000
2008-11-25    28.000000
2008-11-26    25.830000

尝试添加列,如下所示:

    Date        Price       Return
2008-11-21    23.400000     0.1534
2008-11-24    26.990000     0.0374
2008-11-25    28.000000    -0.0775
2008-11-26    25.830000      NaN

其中返回列的计算如下:

Return Row 0 = Price Row 1 / Price Row 0 - 1

我应该循环吗,还是有更好的方法?

埃德·楚姆

您可以shift用来移动行,然后div将Series与其自身的移动相除:

In [44]:
df['Return'] = (df['Price'].shift(-1).div(df['Price']) - 1)
df

Out[44]:
         Date  Price    Return
0  2008-11-21  23.40  0.153419
1  2008-11-24  26.99  0.037421
2  2008-11-25  28.00 -0.077500
3  2008-11-26  25.83       NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据另一列计算数据框中的公共元素

在pandas数据框中创建一列,该列计算两行之间的差异

根据另一列值计算数据框列中某个值出现的百分比

计算数据框列中列表项的出现次数,按另一列分组

通过比较两列来计算数据框中的一列

根据另一个数据框计算数据框中的列值

根据另一列合并数据框中的行

计算数据框中的多于一列

如何计算数据框中的一列相对于另一列的统计信息?

如何使用两行中的值在 Pandas 数据框中创建一列?

在数据框中由另一列链接的两行之间的所有列中查找不匹配

如何比较一列的两行,然后更改熊猫中的另一列

根据数据框中另一列的值汇总和计算一列的唯一值

将两列数据框重塑为一列两行

根据另一列中的值删除数据框中的前 2 行

根据另一列中的条件删除数据框中的某些行

如何计算数据框中同一列中特定值之后的行数

Pandas数据框:根据另一列中的值操纵列(无需遍历行)

我需要通过在R的两行之间的日期填充另一列中的值来拉长数据集

如何计算数据框中每一列每个不同值的出现?

计算数据框中的唯一列表

如何计算数据框中与一列不同的行数?

根据熊猫中数据框的另一列的值添加一列

根据另一列在数据框中删除一列

根据数据框中另一列的值添加一列

根据另一列中的一列查找行值并进行计算

计算数据框中两列的平均值

高效地计算数据框中两行之间的差异

根据两列A,B从数据框中删除重复项,并在另一列C中保留具有最大值的行