2017-07-25 184 views
1

我有一個df,讓我們說4個列A,B,C,D(真實的50+列)。我希望將cols的值相加。例如: - df['A'][0]=df['A'][0]+df['A'][1]等等df['B'][0] ...。在熊貓中添加一列的值

col1 col2 col3 
A 1 222 abc 
B 2 433 dfg 
C 3 111 tyu 
D 4 222 iop 

應該成爲像: -

**col1** col2 col3 
A 3  222  abc 
B 5  433  dfg 
C 7  111  tyu 
D 4  222  iop 

我創建了一個for循環這樣做,修改後的我正在分配回結果到各自的cols。

for k,g in colIndividual.iteritems(): 
    if(k+1<len(colIndividual)): 
     print(g+colIndividual[colIndividual.index[k+1]]) 

然而,作爲python世界的新手,我不知道它是編寫這個邏輯的正確和美麗的方式。這會影響性能,因爲在未來這個df可能會增加到50列以上。你能幫我在這裏嗎? 感謝您的善意幫助。

+1

你'後df.sum()'? – MaxU

+0

不,我想在一列中添加索引值 – Avij

+1

請發佈一個小的可重現數據集(文本/ CSV格式)和您想要的數據集。目前還不是很清楚...請閱讀[如何製作好可重複的熊貓示例](http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples)並編輯您的文章相應地。 – MaxU

回答

2
df['col1'].rolling(2).sum().shift(-1).fillna(df['col1']) 

輸出:

col1 col2 col3 
A 3.0 222 abc 
B 5.0 433 dfg 
C 7.0 111 tyu 
D 4.0 222 iop