Каков наилучший код для проверки соответствия имен в столбцах с одинаковыми именами, но в двух разных фреймах данных? В python, используя pandas? - PullRequest
0 голосов
/ 23 марта 2020

У меня есть два кадра данных life_exp_mean_top_10 и health_exp_mean_top_10, оба имеют столбец «страна».

Я хочу узнать, совпадают ли названия стран с 10 показателями ожидаемой продолжительности жизни (life_exp_mean_top_10) с названиями 10 ведущих стран расходов на здравоохранение (health_exp_mean_top_10).

Я использую Блокнот Jupyter с python 3 и pandas. DF1

life_exp_mean_top_10

country

Andorra        79.770833

Japan          79.596078

Switzerland    78.956863

Iceland        78.821569

Sweden         78.578431

Greece         78.066667

Spain          77.962745

Norway         77.898039

Canada         77.870588

DF2

health_exp_mean_top_10

country

Luxembourg       4353.125

Norway           4166.250

Monaco           3573.125

Denmark          3420.000

Iceland          3071.875

Switzerland      2915.625

Sweden           2686.875

Germany          2649.375

United States    2646.250

Austria          2635.000

Italy          77.827451

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

Если порядок не имеет значения:

set(df.sort_values('value', ascending=False)['country'][:10]) == set(df.sort_values('value', ascending=False)['country'][:10])

Если вы хотите, чтобы они были одинаковыми и в одинаковом порядке:

all(df.sort_values('value', ascending=False)['country'][:10] == df.sort_values('value', ascending=False)['country'][:10])
0 голосов
/ 23 марта 2020

Если вы хотите проверить все 10 сразу, используйте наборы

set(df1.iloc[0:9,'country']) == set(df2.iloc[0:9,'country'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...