У меня проблема. Настройка сложнее, чем то, что я показываю здесь, но это сделано для того, чтобы проблема была более понятной. Представьте, что у меня есть следующий скрипт:
import numpy as np
import pandas as pd
world_exports = np.zeros((4, 1))
def sum_country_exports(nation, vector):
vector = np.add(np.array(vector), np.array(exports[nation]))
countries = ['United States', 'Canada', 'Mexico']
list_X = [[10, 20, 40], [30, 40, 20], [40, 50, 60], [60, 70, 30]]
exports = pd.DataFrame(list_X, columns = ['United States', 'Canada', 'Mexico'])
for country in countries:
sum_country_exports(country, world_exports)
У меня есть квартальные данные об экспорте трех стран (США, Канада и Мексика). Идея состоит в том, что объект world_exports
представляет собой сумму экспорта этих стран за каждый квартал. Крайне важно, чтобы этот объект был создан вне функции.
Затем я хочу l oop над экспортом каждой из этих стран и добавить его в массив world_exports
. Следовательно, ожидаемый результат будет 10 + 20 + 40 = 70 для первого квартала (et c. Для остальных трех кварталов).
В настоящее время world_exports
возвращается к нулю каждый раз, когда l oop переходит в новую страну.
Я уже пробовал изменить vector = np.add...
на vector[:] = ...
внутри функции. Это изменило результаты, но они были очень странными и неверными.
Любая помощь приветствуется.