我有3个DF:GDP,能源,ScimEn。
print(GDP.index.name) > Country
print(energy.index.name) > None
print(ScimEn.index.name) > None
尽管能量和ScimEn确实有“国家/地区”列。 我想合并'Country'上的所有DF。我怎样才能做到这一点?我试过以下
newdf = (pd.merge(energy, ScimEn, how='inner', on='Country').merge(GDP, how='inner', on=GDP.index.name))
> KeyError: 'Country'
如果我尝试:
newdf = (pd.merge(energy, ScimEn, how='inner', on='Country').
merge(GDP, how='inner', left_index=True))
raise MergeError('Must pass right_on or right_index=True')
pandas.tools.merge.MergeError: Must pass right_on or right_index=True
如果我尝试:
newdf = (pd.merge(energy, ScimEn, how='inner', on='Country').
merge(GDP, how='inner', left_index=True, right_index=True))
它返回:
Empty DataFrame
Columns: [Country, Energy Supply, Energy Supply per Capita, % Renewable, Rank, Documents, Citable documents, Citations, Self-citations, Citations per document, H index, Country Code, Indicator Name, Indicator Code, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015]
Index: []