2016-05-09 4 views
4

Я хотел бы добавить все столбцы в DataFrame, и я хотел бы, чтобы эта сумма была добавлена ​​как новый столбец в DataFrame.Добавление всех столбцов в dataframe

Я хочу, чтобы все столбцы были доступны, без упоминания первого и последнего столбцов в моем запросе.

Возможно ли это?

+0

Вы после 'df ['sum'] = df.sum (axis = 1)'? – MaxU

ответ

2

Использование sum:

import pandas as pd 
import numpy as np 

#random dataframe 
np.random.seed(1) 
df1 = pd.DataFrame(np.random.randint(10, size=(3,5))) 
df1.columns = list('ABCDE') 
print df1 
    A B C D E 
0 5 8 9 5 0 
1 0 1 7 6 9 
2 2 4 5 2 4 

df1['sum'] = df1.sum(axis=1) 
print df1 
    A B C D E sum 
0 5 8 9 5 0 27 
1 0 1 7 6 9 23 
2 2 4 5 2 4 17 

Другим решением для создания новых столбцов является assign:

print df1.assign(sum=df1.sum(axis=1)) 
    A B C D E sum 
0 5 8 9 5 0 27 
1 0 1 7 6 9 23 
2 2 4 5 2 4 17 
1

Решение

pd.concat([df, df.sum(axis=1)], axis=1) 
+0

Это работает, отлично. Однако новые столбцы были созданы с заголовком «0» или «O». Я предпочел бы видеть «Total» или «Sum» в качестве заголовка. Это возможно?. Новый столбец добавлен в существующий df DataFrame? – vsoler

1

вы можете сделать это следующим образом:

df['sum'] = df.sum(axis=1) 
Смежные вопросы