Не слишком много информации о данных, вот что я мог бы решить.Я считаю, что проблема заключается в использовании одинарных скобок, а не двойных скобок для emissions[yearString]
.Учитывая некоторые случайно сгенерированные DataFrames, вот что я мог сделать:
import numpy as np
import pandas as pd
Сначала я создал два DataFrames со случайными числами, некоторые из которых, вероятно, будут строками в вашем экземпляре, но это просто быстрая замена.
df = pd.DataFrame(np.arange(0, 100, 5).reshape(4,5), columns = ['Year',2,3,4,5])
Создан один столбец в качестве столбца псевдо-выбросов.
df2 = pd.DataFrame(np.arange(0, 200, 10).reshape(4,5), columns = ['Emissions',7,8,9,10])
Добавлены данные года во второй DataFrame, который мы затем можем использовать для объединения с первым
df2['Year'] = [0, 25, 50, 75] #Used to add year data to the second data Frame
Я назвал конкретные столбцы, которые я хотел объединить, включая год и столбец псевдо-выбросов.Я использовал здесь двойные скобки для вызова списка столбцов, чтобы слияние могло по-прежнему иметь доступ к «Году» в обоих фреймах данных.
pd.merge(df, df2[['Year', 'Emissions']], on = 'Year')
Если фреймы данных разделены по-другому, дайте мне знать, и я постараюсьизменить его, чтобы оно имело больше смысла для вашего решения.