Как объединить только определенный столбец данных кадра в пандах? - PullRequest
0 голосов
/ 02 марта 2019

Я пытался использовать функцию pd.merge правильно, но я либо получаю сообщение об ошибке, либо форматирую таблицу не так, как мне нравится.Я просмотрел документацию, но не могу найти способ объединить только определенный столбец.Например, допустим, я работаю с этими двумя кадрами данных.

df_1 = county_name accidents pedestrians ADAMS 1 2 ALLEGHENY 1 3 ARMSTRONG 3 4 BEDFORD 1 1

df_2 = county_name population ADAMS 102336 ALLEGHENY 1223048 ARMSTRONG 65642 BEDFORD 166140 BERKS 48480 BLAIR 417854 BRADFORD 123457 BUCKS 60853 CAMBRIA 628341

Результат, который я ищу, выглядит примерно так,Если названия округов добавляются в столбец «county_name», но не дублируются, а столбец «Population» не используется.

df_outcome = county_name accidents pedestrians ADAMS 1 2 ALLEGHENY 1 3 ARMSTRONG 3 4 BEDFORD 1 1 BERKS Nan Nan BLAIR Nan Nan BRADFORD Nan Nan BUCKS Nan Nan CAMBRIA Nan Nan

Наконец, я планирую использовать df_outcome.fillna(0) заменить все Nan значения на ноль.

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Попробуйте:

df = pd.merge(df1,df2[['county_name']], how='left')
0 голосов
/ 02 марта 2019

Фильтровать столбец county_name и использовать merge с левым соединением:

df = df_2[['county_name']].merge(df_1, how='left')
print (df)
  county_name  accidents  pedestrians
0       ADAMS        1.0          2.0
1   ALLEGHENY        1.0          3.0
2   ARMSTRONG        3.0          4.0
3     BEDFORD        1.0          1.0
4       BERKS        NaN          NaN
5       BLAIR        NaN          NaN
6    BRADFORD        NaN          NaN
7       BUCKS        NaN          NaN
8     CAMBRIA        NaN          NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...