Запись нового столбца, если записи совпадают в разных фреймах данных Python - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в Python и мне нужна помощь с моими данными

Допустим, мои данные 1 - это

Year Population Country
1960            A
1998            A
1969 3          B
1999            B
..
2018 4          Z

И данные 2 - это

Year A     B     C     D
1960 2     4     3     3
1961 3     4     2     1
...
2018 3     4     1     3 

Где [A, Z] - страны

В данных 1 данные о населении не указаны для большинства стран и лет, поэтому мне пришлось загрузить данные о населении из другого набора. Теперь я хочу заполнить записи в данных 1, если годы и страны совпадают в обоих наборах данных. Я борюсь с этим, потому что столбцы в данных 2 являются каждой из стран, тогда как в данных 1 страны перечислены только в одном столбце.

Есть идеи? Спасибо за помощь!

1 Ответ

0 голосов
/ 29 мая 2020

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

df2 = df2.set_index('Year')

df1['Population'] = df1['Population'].fillna(df2.lookup(df1['Year'], df1['Country']) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...