Функция применения в датафрейме работает по-разному, когда я использую функции из внешнего файла .py
в качестве аргументов в функции применения.
В блокноте jupyter мой код работает хорошо, когда я определяю функцию в том же .ipynb
файл.Однако, когда я импортирую функцию из файла .py
, я получаю сообщения об ошибках типа ("name 'pd' is not defined", 'occurred at index 0')
.
import pandas as pd
import ind_assign as ind
def ffi48(x):
if (3000<=x['sic'] <= 4000):
ffi48 = 1
if (4000<x['sic'] <= 5000):
ffi48 = 2
return pd.Series({'sic':x['sic'], 'ffi48': ffi48})
d = {'sic': [3725, 4920]}
df = pd.DataFrame(data=d)
df.apply(ffi48, axis=1)
or
df.apply(ind.ffi48, axis=1)
df.apply(ffi48, axis=1)
работает хорошо.Однако, когда я создаю файл ind_assign.py
с функцией ffi48
и вызываю как df.apply(ind.ffi48, axis=1)
, я получаю такие ошибки, как ("name 'pd' is not defined", 'occurred at index 0')
.