2013-11-16 4 views
3

Вот мои панды Frames данные:объединить три кадра данных pandas в один?

pandas1 = pandas.DataFrame([1,2,3,4,5,6,7,8,9]) 
pandas2 = pandas.DataFrame([10,20,30,40,50,60,70,80,90]) 
pandas3 = pandas.DataFrame([100,200,300,400,500,600,700,800,900]) 

Как я могу объединить это есть кадры данных в единое целое, например, так:

1,10,100 
2,20,200 
3,30,300 
4,40,400 
5,50,500 
6,60,600 
7,70,700 
8,80,800 
9,90,900 

ответ

3

Вы можете использовать это:

pandas1.join(pandas2, lsuffix ="2").join(pandas3, lsuffix="3") 

в lsuffix требуется только потому, что все ваши столбцы имеют одинаковое имя по умолчанию (0)

Этот код фактически соединяет данные в своих индексах. См http://pandas.pydata.org/pandas-docs/dev/merging.html#database-style-dataframe-joining-merging

EDIT:

Если вы пытаетесь присоединиться объекты серии, а не Dataframes, то вы хотите

pandas.concat([pandas1, pandas2, pandas3], axis=1) 
+0

прямо сейчас У меня есть следующая ошибка: AttributeError: объект 'Series' не имеет атрибута 'join' –

+0

Тип моего панда Data Frame:

+0

@MichaelVayvala: Чтобы было ясно, это означает, что объект * NOT * a DataFrame. Серия и DataFrames - это разные типы. – DSM

0

просто попробовать это .. это должно работать:

pandas.concat([pandas1,pandas2,pandas3],axis=1) 
Смежные вопросы