我有两个文件: 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
personal_function / 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”
答案 0 :(得分:0)
要使一个类或函数在包外部可见,必须将其导入到包的__init__.py
文件中,该文件是从某处导入包时运行的。然后,在__init__.py
中定义的所有变量,导入,方法和类对于导入它们的包都是可见的。以以下示例为例:
example / example.py
def visible():
pass
def not_visible():
pass
example / init .py
from .ex import visible
main.py
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子调制here
的更多信息答案 1 :(得分:0)
我需要使用
from os import getcwd
from sys import path
cwd = getcwd()
path.append(cwd)
使用整个绝对路径