2016-08-19 3 views
13

Я хочу добавить серию (s) в Pandas DataFrame (df) в качестве нового столбца. Серия имеет больше значений, чем Есть строки в dataframe, поэтому я использую метод concat вдоль оси 1.concat series на dataframe с именем столбца

df = pd.concat((df, s), axis=1)

Это работает, но новый столбец dataframe, представляющий серию дан произвольный числовое имя столбца, и я бы хотел, чтобы этот столбец имел определенное имя.

Есть ли способ добавить серию к кадру данных, когда серия длиннее строк фрейма данных и с указанным именем столбца в результирующем фреймворке?

ответ

12

Вы можете попробовать Series.rename:

df = pd.concat((df, s.rename('col')), axis=1) 
+0

Это работает и работает, даже когда я работаю с серией, которая уже была создана в некоторых предыдущих шагах, поэтому я продолжу и просто отмечаю это как ответ. – vaerek

3

Конечно, после многих минут попробовать это, я понял, ответ на моем собственном сразу же после размещения вопроса. Ответ просто указать имя при создании серии:

example_scores = pd.Series([1,2,3,4], index=['t1', 't2', 't3', 't4'], name='example_scores')

Используя имя атрибута при создании серии все, что нужно.

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