Я пытаюсь выполнить оператор if, чтобы сопоставить страну происхождения победителей марафона с данными их счетчика ie. Я получаю сообщение об ошибке «Можно сравнивать только идентичные объекты Series».
if df['Winner Country'] == gdp_data['Country']:
if df['YEAR'] == 1970 :
df['gdp'] = gdp_data['1970 gdp/cap']
Пример gdp_data:
Country 1970 gdp/cap
Kenya 98
Пример df:
YEAR Winner_Name Winner_Country Time Gender
1977 Dan Cloeter USA 2:17:52 M
Я намереваюсь назначить значение ВВП для df на основе как страны, так и года (I только включенные частичные данные, для каждого года в столбце данных gdp_data есть дополнительные столбцы).
Если я решу объединиться, я столкнусь с этой проблемой:
пример данных:
YEAR Winner_Name Winner_Country Time Gender Marathon_City Country 1970 1971
1977 Dan Cloeter USA 2:17:52 M Chicago USA 5247.0 5687.0
1978 Mark Stanforth USA 2:19:20 M Chicago USA 5247.0 5687.0
как видно, число 1970 является переменной, но также является возможным результатом для года. Как я могу создать переменную gdp на основе года, в котором произошла гонка?
Что я изначально пытался:
YEAR = df_gdp['YEAR']
df_gdp['gdp'] = df[YEAR]
, что привело к этой ошибке
KeyError: "Ни один из [ Int64Index ([1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, \ n ... \ n 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019] , \ n dtype = 'int64', length = 258)] в [столбцах] "
- упрощенный пример желаемых результатов
Возьмите этот пример набора данных
letter a b c d
a 1 3 4 2
b 4 3 2 1
c 2 1 4 3
d 3 4 2 1
желаемых результатов
letter a b c d correct answer
a 1 3 4 2 1
b 4 3 2 1 3
c 2 1 4 3 4
d 3 4 2 1 1
как создать столбец «правильный ответ»?