Ich habe 3 DFs: BIP, Energie, ScimEn.verschmelzen 3 Datenrahmen mit verschiedenen Indizes
print(GDP.index.name) > Country
print(energy.index.name) > None
print(ScimEn.index.name) > None
Obwohl Energie und ScimEn eine Spalte "Land" haben. Ich möchte alle DFs auf 'Land' zusammenführen. Wie kann ich das machen? Ich habe versucht, die folgenden
newdf = (pd.merge(energy, ScimEn, how='inner', on='Country').merge(GDP, how='inner', on=GDP.index.name))
> KeyError: 'Country'
zu tun Wenn ich versuche:
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
Wenn ich versuche:
newdf = (pd.merge(energy, ScimEn, how='inner', on='Country').
merge(GDP, how='inner', left_index=True, right_index=True))
Es gibt:
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: []
vielleicht ändern müssen 'auf = GDP.index.name' zu' left_index = true' – jezrael
Ich postete Ergebnisse zu meinem ursprünglichen Beitrag – feedthemachine
Danke, was ist 'newdf = (pd.merge (Energie, ScimEn, on = 'Land'). Merge (GDP.reset _index(), on = "Land"))? – jezrael