2017-10-27 9 views
-1

私はテキストファイルを持っています。これは、column1の文字列と一致し、colum2,3,4を追加して別のファイルに出力する必要があります。だから、これまで私のコードは次のとおりです。Pythonの列の合計

コード

import pandas as pd 

data = pd.read_csv('/Users/ankr/Desktop/samp.txt', sep=",", header=None) 
data.columns = ['name','val1', 'val2', 'val3', 'val4', 'val5'] 
my_df = pd.DataFrame(data) 
summary = my_df.groupby('name').sum() 
print summary 

例入力:

abc,1,1,1,1,0 

def,1,0,0,0,1 

abc,1,0,0,0,1 

def,0,0,0,0,1 

xyz,1,1,1,1,0 

の予想される出力

abc,2,1,1,1,1 

def,1,1,1,1,2 

xyz,1,1,1,1,0 

Samp.txtファイル

abc,1,1,1,1,0 
abc,1,1,1,1,0 
Def,1,0,0,0,1 
Def,1,0,0,0,1 

マイ出力:

name  val1 val2 val3  val4 val5 
0 abc   1  1  1   1  0 
1 abc   1  1  1   1  0 
2 Def   1  0  0   0  1 
3 Def   1  0  0   0  1 

任意の助けをいただければ幸いです。

+0

試しました。私は – Anjanaa

答えて

1
import pandas as pd 

data = [('abc',1,1,1,1,0), 
     ('def',1,0,0,0,1), 
     ('abc',1,0,0,0,1), 
     ('def',0,0,0,0,1), 
     ('xyz',1,1,1,1,0)] 

my_df = pd.DataFrame(data) 
#Sumarize by first column then sum the other columns` 
summary = my_df.groupby([0]).sum() 
#This line will create a cvs file named 'my_output.csv' 
summary.to_csv('my_output.csv', index=True, header=False) 

output at file: 
abc,2,1,1,1,1 
def,1,0,0,0,2 
xyz,1,1,1,1,0 
+0

を更新しました。ファイルの作成を追加しました。期待される出力のように見える –

1

私たちはあなたの6列は[ '名前'、 ''、 'B'、 'C​​'、 'D'、 'E']であることを言おうと、あなたのデータフレームは

df.groupby('name').sum() 
dfを呼ばれています

これは、最初の列 'name'でグループ化されたすべてのa、b、c、d、e列を合計します。