2016-03-08 62 views
-1

我對Python和Pandas相當陌生,我試圖從系列中抽取一些統計數據。 我想計算最後一行和第一行之間的差異,並將其放入一個新的系列。Python Pandas,從現有系列的計算創建新系列

我的第一個系列看起來與此類似:

# Symbol(1) Symbol(2) Symbol(3) 
Mon 5   10   15 
Tue 6   9   12 
Wed 3   11   15 

我想知道如何輕鬆地創建這種合成系列:

# Symbol(1) Symbol(2) Symbol(3) 
Diff -2   1   0 

這是我試過的代碼的最新迭代:

diffy = pd.concat([inputs.head(1),inputs.tail(1)]) 
diffy.dropna(axis='columns', inplace='true') 

a = pd.Series(index=diffy.index) 
for c in diffy.columns: 
    a.append(pd.Series(data=[diffy[c][1]-diffy[c][0]], index=c)) 

但是,我得到TypeError在最後一行,我嘗試追加t他的信息。

This question似乎是一個非常類似的問題,但接受的答案並不完全提供的全部細節。

+1

不是很清楚你試圖計算 –

+0

*,其中*你得到一個類型錯誤是什麼?請顯示完整的追溯。 – SiHa

+0

@OphirYoktan,我稍微澄清了這個問題。 –

回答

3
diffy = inputs.iloc[-1, :] - inputs.iloc[0, :] # pandas Series 

,你可以做

inputs = inputs.append(diffy, ignore_index=True) 
+0

嗯,我知道這很容易。我已經根據引用的問題/答案嘗試過'inputs.iloc [1:] - inputs.iloc [:1]',所以我很接近! –