首页 > 解决方案 > 从文件中导入带有熊猫的类

问题描述

我有两个文件: main.py

from personal_function.Convert import cls_Convert

df_key = 'PERFIL'

a = cls_Convert(df_data_2)
a.convert_cat_to_num(df_key)
df_data_2 = a.df

个人函数/Convert.py

import pandas as pd

class cls_Convert:
    def __init__(self,df):
        self.df = df

    # Mudar variavel categorica para numerica
    def convert_cat_to_num(self,df_key):
        self.df[df_key] = pd.factorize(self.df[df_key],sort=True)[0] + 1
        return self.df

    # Mudar variavel numerica para categorica
    def convert_num_to_cat(self,df_key,cat_bin,cat_label):
        self.df[df_key].replace(to_replace = cat_bin, value =cat_label, inplace=True)
        return self.df

但是我收到此错误

ImportError:无法从“personal_function.Convert”导入名称“cls_Convert”

标签: importerror

解决方案


为了使类或函数在包外可见,必须将其导入包的__init__.py文件中,该文件在包从某处导入时运行。然后,其中定义的所有变量、导入、方法和类__init__.py对导入它们的包都是可见的。举个例子:

示例/example.py

def visible():
    pass

def not_visible():
    pass

示例/初始化.py

from .ex import visible

主文件

from example import visible
from example import not_visible # results in an error since it was not imported
                                # in the `example` package's `__init__.py` file.

要使您的类对外部文件Convert可见,请为包创建 。main.py__init__.py

您可以在此处阅读有关 python 子模块的更多信息


推荐阅读