像pandas.sub()这样的方法,可以进行行减法

时间:2016-04-12 12:35:01

标签: python-3.x pandas dataframe

我正在寻找一种在pandas df上进行逐行减法的简单方法。我能找到的最接近的是df.shift(1),它只适用于日期时间。所以,如果我有一个数据框

  df['col'] = [1,2,3,4,5]

是否有内置方法允许我进行逐元素减法,以便通过从左边的每个元素中减去它来返回以下内容。第一个元素将保持不变。

 sd['col'] = [1, 1, 1, 1, 1]

是否有现成的方法可以执行此操作,还是我必须自己编写代码?

1 个答案:

答案 0 :(得分:2)

在你的评论中写下

  

第一个值是正确的。后续值将被减去。

因此,假设您要将差异放在名为diff的列中。然后你可以做

df['diff'] = df['col'].diff()

(使用pd.DataFrame.diff),这将在除第一个之外的每个条目中放置差异。您可以使用

轻松修复此内容
df['diff'].values[0] = df['col'].values[0]