2014-01-20 5 views
1

у меня есть кадр данных панд как таковой:Добавить столбец категории для панд dataframe из существующего списка категорий

Country_Name Date Population 
Afghanistan 7/1/2000 25950816 
Afghanistan 7/1/2010 34385068 
Albania  7/1/2000 3071856 
Albania  7/1/2010 3204284 
Algeria  7/1/2000 30533827 
Algeria  7/1/2010 35468208 
... 

У меня есть еще один dataframe с области данных:

Region Country 
Asia Afghanistan 
Europe Albania 
Africa Algeria 
Europe Andorra 
Africa Angola 
... 

I Я пытаюсь добавить столбец в свой первый файл данных, который добавляет правильную категорию региона в каждую строку страны. У меня нет кода, потому что я не уверен, с чего начать.

Благодаря

ответ

3

Предполагая DF1 ваш первый dataframe и df2 ваш второй один, вы можете объединить в стране и выполнить левое соединение, вам нужно переименовать столбец страны на df2 первый, хотя:

df2.rename(columns={'Country':'Country_Name'}, inplace=True) 
merged = df1.merge(df2, on='Country_Name', how='left') 

# you can either use merged dataframe or assign it to df1: 
df1 = merged 

или вы можете назначить его обратно df1 а не объединенное:

df1 = df1.merge(df2, on='Country_Name', how='left') 

должно дать вам то, что вы хотите

+0

Я успешно переименовал столбец страны в столбец Country_Name. Я проверил печать df2.columns. Но объединенная команда дает мне KeyError: no item с именем 'Country_Name' – kegewe

+0

Можете ли вы подтвердить, что оба df1 и df2 имеют одинаковое имя столбца 'Country_Name' – EdChum

+0

Хорошо, меня перепутали с символами подчеркивания. Я больше не получаю ошибку, и столбцы страны в обоих файлах данных «Имя страны». Теперь я хотел бы добавить этот новый столбец области в первый информационный кадр – kegewe

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