import pandas as pd
df = pd.DataFrame(data = [[2018, "a", "b", 500, 1500, 700],
[2018, "a", "c", 500, 400, 50],
[2018, "b", "a", 1500, 500, 700],
[2018, "b", "d", 1500, 750, 200],
[2018, "c", "d", 400, 750, 375]],
columns = ["year", "exporter", "importer", "importer_gdp", "exporter_gdp", "distance"])
df
df['check_string'] = df.apply(lambda row: ''.join(sorted([row['exporter'], row['importer']])), axis=1)
df
df.drop_duplicates(subset="check_string", inplace=True)
df
export_group = df.groupby("exporter")
df2 = pd.DataFrame(
1/(export_group.importer_gdp.sum()/export_group.distance.sum())
).reset_index().rename(columns={0:"remoteness"})
df2
df = df.merge(df2, how="left", on="exporter")
df