2016-02-22 6 views
1

код используется:сумма группы предметов по в панд и запись в файл

bytreatment = df.groupby(['QuoteID']) 
df2['numeric_sort_sum']= bytreatment['ComQuotePrice'].sum() 

входного файла:

id1 100 
id1 200 
id3 200 
id3 300 
id4 400 

Результат должен быть следующим:

id1 300 
id1 300 
id3 500 
id3 500 
id4 400 

для меня результат поступает как

id1 300 
id3 500 
id4 400 

и мне нужно, чтобы написать этот результат в файл .. я должен использовать цикл и индекс

ответ

2

Чтобы добавить столбец генерируемый из groupby использования transform:

df2['numeric_sort_sum']= bytreatment['ComQuotePrice'].transform('sum') 

In [22]: 
df['numeric_sort_sum'] = df.groupby('QuoteID').transform('sum') 
df 

Out[22]: 
    QuoteID ComQuotePrice numeric_sort_sum 
0  id1   100    300 
1  id1   200    300 
2  id3   200    500 
3  id3   300    500 
4  id4   400    400 

вы можете позвонить to_csv на выше, чтобы написать файл ti

+0

ok спасибо огромное –

+0

Если мой ответ разрешил ваш вопрос, тогда [accept] (http://stackoverflow.com/help/accepted-answer) мой ответ, чтобы вопрос не остался без ответа – EdChum

Смежные вопросы