2016-05-04 85 views
3

很抱歉,如果這是一個愚蠢的問題,的Python /大熊貓數量減去一列

我有一個看起來有點像這樣的熊貓數據幀:

Col1 Col2 

0  217 
287 130 

我想減去

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 
1

如果我理解你的問題,你想這樣做的兩個數字如果這不是你問的問題,請在下面修復你的問題或評論。

+0

如果有10000行數據幀中會發生什麼? –

+0

我認爲這個問題比這個簡單。 OP要求:我試圖減去第二列中的兩個數字 我不知道爲什麼要放在10,000行的情況下,如果他只想減去兩個數字。我接受這個問題有點含糊。 –

+0

對不起,雖然我的問題只是要求列中的兩個數字,但知道如何在@JoeR所說的列中減去多個數字也是有幫助的。然而,我的問題得到了回答,感謝您的回覆! – bansire

3

如果你正在嘗試做的所有col2的元素相減,你可以這樣做:

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

子將是一個系列,其中:

Col2 

NaN 
-87 

DataFrame.diff()

+1

如果你有更多的行'.diff()'不會繼續減去。它只會告訴你兩個數字之間的差異。 –

+0

這工作謝謝你 – bansire