Python / Pandas减去列中的数字

时间:2016-05-04 01:59:23

标签: python pandas

对不起,如果这是一个愚蠢的问题,

我有一个看起来像这样的pandas数据框:

Col1   Col2

0      217
287    130

我正在尝试减去第2列中的两个数字

3 个答案:

答案 0 :(得分:3)

如果您尝试在Col2中的所有元素之间进行减法,则可以执行以下操作:

sub = df['Col2'].diff()

sub将是一个系列,其中:

Col2

NaN
-87

DataFrame.diff()

答案 1 :(得分:1)

如果我理解你的问题你想要这样做:

res = dataFrame['Col2'][0] - dataFrame['Col2'][1]

如果这不是您要求的,请在下面修改您的问题或评论。

答案 2 :(得分:1)

您可以.sum()列中的值,并从df.loc[0]

的第一个值中减去该值
df
   Col1     Col2
0   0       217
1   278     130

df.loc[0] - df.loc[1:].sum()

输出:

Col1   -278
Col2     87
dtype: int64

如果您只想将其应用于Col2

df['Col2'].loc[0] - df['Col2'].loc[1:].sum()

输出:

87

您可以在数据框中的任意行数上使用它:

    Col1    Col2
0   0       217
1   278     130
2   23      45
3   22      123
4   370     123 

df.loc[0] - df.loc[1:].sum()

输出:

Col1   -693
Col2   -204
dtype: int64