我正在尝试在sqlite数据库中连接两个表。
这是连接语句:
join_command = 'SELECT country, year, men_years, women_years, total_years, _1999, _2000, _2001, _2002, _2003, _2004, _2005, _2006, _2007, _2008, _2009, _2010 FROM education LEFT OUTER JOIN gdp ON education.country = gdp.country_name;'
with con:
cur.execute(join_command)
data = cur.fetchall()
df_combined = pd.DataFrame(data)
join语句按预期工作。
我正在用表“GDP”栏“country_name”加入“国家”栏目的“教育”表。问题是某些国家/地区的名称拼写不同。例如,教育有“美国”,gdp有“美利坚合众国”。
使用左外连接,它将返回:
89 United States of America 2008 15 17 16 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
有没有办法在sqlite或python中识别和映射具有相同值但不同表示的列元素,例如美国对美国或坦桑尼亚对坦桑尼亚共和国。