pd не определен при локальном импорте пользовательских функций - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть файлы с локально сохраненными функциями, которые я хочу загрузить.Однако, когда я делаю это, он не забирает уже загруженные загруженные пакеты, такие как pandas.

import pandas as pd
import numpy as np

x=pd.DataFrame({"a":[1,2,3]})

Эта функция сохраняется локально в файле test_function.py ... она не запускается в моем jupterзаписная книжка напрямую.

# saved on file locally...
def multiply_values(data):
    if data.__class__ == pd.DataFrame():
        return(x.iloc[:,0]*2)

Загрузить функцию ...

from test_function import *
multiply_values(x)

Я тогда получу

NameError: name 'pd' is not defined

Может кто-нибудь объяснить мне, как я должен обращаться с этим?Как я не импортирую это правильно?

Я также обновил файл test_function.py, чтобы

import pandas as pd была самой первой строкой и внутри самой функции.

Я получаю этот ответ:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-75-00666e9e2407> in <module>
      1 xx = pd.DataFrame({'a':[0,23,234,3]})
      2 
----> 3 multiply_values(xx)

~/Downloads/testfunc.py in multiply_values(data)
      1 import pandas as pd
      2 
----> 3 
      4 def multiply_values(data):
      5     import pandas as pd

NameError: name 'pd' is not defined

1 Ответ

0 голосов
/ 26 сентября 2019

Просто импортируйте его в начале в ваш файл JN.Это должно это исправить.Уже загруженные пакеты в этом файле не будут получены.

import pandas as pd
import numpy as np
.
.
Rest of code here 
.
.

...