2016-08-31 3 views
2

У меня есть dataframe ниже;как суммировать сложное условие в pandas dataframe

df=pd.DataFrame(np.arange(1,19).reshape(6,3),columns=list('ABC'),index=list('acbabc')) 

    A B C 
a 1 2 3 
c 4 5 6 
b 7 8 9 
a 10 11 12 
b 13 14 15 
c 16 17 18 

Я хотел бы условное суммирование данных, показанное ниже;

A B C 
a 11 13 15 
b 20 22 24 
c 20 22 24 

каждый элементы показывает условную сумму df.for например, (я inconfident о выражении)

result.loc[0,0]=df.loc[df.A=="a"].sum() 

как я могу получить эту dataframe?

ответ

4

GroupBy index и sum столбцы должны дать вам то, что вам нужно:

df.groupby(df.index).sum() 

# A B C 
#a 11 13 15 
#b 20 22 24 
#c 20 22 24 
+1

же ответ 'df.groupby (уровень = 0) .sum()' +1 – piRSquared

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