从外部py-fi调用函数时发生数据帧应用函数错误

2024-09-30 14:21:05 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用外部.py文件中的函数作为apply函数中的参数时,dataframe apply函数的操作方式不同

在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)效果很好。然而,当我使用ffi48函数生成ind_assign.py文件并像df.apply(ind.ffi48, axis=1)一样调用时,我得到了如下错误 ("name 'pd' is not defined", 'occurred at index 0')


Tags: 文件函数namepydfisnotpd