Как сделать глобальный массив данных и использовать его в функции? - PullRequest
1 голос
/ 08 апреля 2019

Я хочу напечатать столбец данных в функции. он говорит, что имя «данные» не определено. Как мне сделать это глобальным?

моя функция:

def min_function():
    print("Choose action to be performed on the data using the specified metric. Options are list, correlation")
    action = input()
    if action == "list":
        print("Ranked list of countries' happiness scores based the min metric")
        print(data['country'], data.sort_values(['min_value'], ascending=[0,0]))

данные - мой фрейм данных.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Хотя это правда, что вы должны хорошо подумать, прежде чем вводить глобальные переменные, вы можете сделать это двумя способами:

Либо просто определите переменную в файле, к которому вы хотите получить доступ, а затем просто используйте ее, либо используйте ключевое слово global в функции перед определением переменной.

Обратите внимание, что при обоих подходах вы можете получить доступ только к переменной в вашем файле. Если этого недостаточно, вам нужно определить переменную как встроенную переменную . А если серьезно, не делай этого

Изменить: Обратите внимание, что очевидно, что он работает аналогично локальным объектам, вам нужно (чтобы убедиться) инициализировать его, прежде чем использовать его!

0 голосов
/ 08 апреля 2019

Не: -)

импортируйте его и используйте в качестве параметра для вашей функции.Таким образом, вы сможете использовать и другие кадры данных.Если это действительно так, когда-либо будет, и когда-либо будет один фрейм данных, используйте шаблон синглтона (https://en.wikipedia.org/wiki/Singleton_pattern) и все еще импортируйте его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...