Ниже приведен пример DataFrames, который я хочу объединить.
#!/usr/bin/env python
import pandas as pd
countries = ['Germany', 'France', 'Indonesia']
rank_one = [1, 5, 7]
capitals = ['Berlin', 'Paris', 'Jakarta']
df1 = pd.DataFrame({'country': countries,
'rank_one': rank_one,
'capital': capitals})
df1 = df1[['country', 'capital', 'rank_one']]
population = ['8M', '82M', '66M', '255M']
rank_two = [0, 1, 6, 9]
df2 = pd.DataFrame({'population': population,
'rank_two': rank_two})
df2 = df2[['rank_two', 'population']]
Я хочу объединить оба DataFrames на основе точного или приблизительного соответствия.
, если rank_two is equal to rank_one
ИЛИ
rank_two is the closest and next bigger number from rank_one
.
Пример:
df1 :
country capital rank_one
0 Germany Berlin 1
1 France Paris 5
2 Indonesia Jakarta 7
df2 :
rank_two population
0 0 8M
1 1 82M
2 6 66M
3 9 255M
df3_result :
country capital rank_one rank_two population
0 Germany Berlin 1 1 82M
1 France Paris 5 6 66M
2 Indonesia Jakarta 7 9 255M