2016-07-29 2 views
1

Я не могу понять, как я могу добавить имена столбцов на панд dataframe, простой пример прояснит мой вопрос:как добавить метки столбцов на панду DataFrame

dic = {'a': [4, 1, 3, 1], 'b': [4, 2, 1, 4], 'c': [5, 7, 9, 1]} 
df = pd.DataFrame(dic) 

теперь, если я тип DF, чем я получить

a b c 
0 4 4 5 
1 1 2 7 
2 3 1 9 
3 1 4 1 

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

a = df.sum() 

, если я типа «а», чем я получаю

a  9 
b 11 
c 22 

Это выглядит как dataframe без с индексом и без имен на единственной колонке. Так что я написал

a.columns = ['column'] 

или

a.columns = ['index', 'column'] 

и в обоих случаях Python был счастлив, потому что он не предоставил мне никаких сообщений об ошибках. Но все же, если я нахожу 'a', я не могу видеть имя столбца где угодно. Что здесь не так?

+1

'sum' здесь возвращает' Series' не ДФ, так что нет столбца как таковой – EdChum

+3

Вы можете преобразовать его в dataframe ' df.sum(). to_frame ('столбец') ' – ayhan

ответ

1

Метод DataFrame.sum() делает агрегацию и поэтому возвращает Series, а не DataFrame. И в Серии нет столбцов, а только индекс. Если вы хотите создать DataFrame из вашей суммы вы можете изменить a = df.sum() по:

a = pandas.DataFrame(df.sum(), columns = ['whatever_name_you_want']) 
Смежные вопросы