2014-01-29 3 views
0

У меня два dataframes с каждым из них выглядят какОбъединение и перестановка два dataframes в пандах

date  country  value 
20100101 country1  1 
20100102 country1  2 
20100103 country1  3 


date  country  value 
20100101 country2  4 
20100102 country2  5 
20100103 country2  6 

Я хочу, чтобы объединить их в один dataframe похожего

date  country1  country2 
20100101  1   4 
20100102  2   5 
20100103  3   6 

Есть ли умное способ сделать это в пандах?

ответ

0

Это выглядит как сводная таблица, которая в Пандах называется unstack по какой-то причудливой причине.

Пример аналогичен используемому в Wes Маккинли «питон для анализа данных» Книга:

bytz = df.groupby(['tz', opersystem]) 
counts = bytz.size().unstack().fillna(0) 

(groupby операционная система в рядах которой скреплен так, что операционная система становится столбцы, так же, как ваша «страна *" значения).

P.S. для cat ting dataframes вы можете использовать pandas.concat. Также часто бывает полезно сделать .reset_index на результирующем фрейме данных, bc в некоторых случаях (много?), Повторяющиеся значения в индексе могут сделать pandas go haywire, бросая странные исключения на .apply, используемые в dataframe и т. П.

+0

? Метод создания сводной таблицы не называется 'unstack', он называется' pivot_table'. – DSM

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