Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/Pandas在列中减去数字_Python_Pandas - Fatal编程技术网

Python/Pandas在列中减去数字

Python/Pandas在列中减去数字,python,pandas,Python,Pandas,抱歉,如果这是个愚蠢的问题 我有一个熊猫数据框,看起来像这样: Col1 Col2 0 217 287 130 我试图减去第2列中的两个数字,如果我理解你的问题,你想这样做: res = dataFrame['Col2'][0] - dataFrame['Col2'][1] 如果这不是您要问的问题,请在下面修正您的问题或评论。如果您试图在Col2中的所有元素之间进行减法运算,您可以执行以下操作: sub = df['Col2'].diff() sub将是一个系列,其中

抱歉,如果这是个愚蠢的问题

我有一个熊猫数据框,看起来像这样:

Col1   Col2

0      217
287    130

我试图减去第2列中的两个数字,如果我理解你的问题,你想这样做:

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

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

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

sub = df['Col2'].diff()
sub将是一个系列,其中:

Col2

NaN
-87

您可以
.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   -693
Col2   -204
dtype: int64
您可以在数据框中的任意行上使用此选项:

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

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

87
Col1   -693
Col2   -204
dtype: int64

如果数据框中有10000行,会发生什么?我认为问题比这简单。OP问:我正在尝试减去第2列中的两个数字,如果他只想减去两个数字,我不知道为什么要加上10000行。我承认这个问题有点模棱两可。对不起,虽然我的问题只要求一列中的两个数字,但如@JoeR所说,知道如何在一列中减去多个数字也会很有帮助。我的问题得到了回答,谢谢你的回答!如果有更多的行,
。diff()
将不会继续减法。它只会显示两个数字之间的差异。